从表中选择所有元素,并检查它们是否与另一个表匹配

时间:2014-10-15 13:21:40

标签: mysql sql select phpmyadmin

我有两个表,我想从第一个表中获取所有实体,然后检查它们是否可以与另一个表中的特定实体相关。如果它们可以相关,则数据库返回1(或true),否则返回NULL(或false)。

Aïe

我用LEFT JOIN尝试了一些东西,但没有一个能够工作。我认为解决方案很简单,但我无法弄清楚......

上下文:在我的应用程序中,我发出两个请求,第一个从oneTable获取所有实体,第二个从另一个表中获取所有idOT,其中idAT等于2,那么,我做了一个循环我从第一个请求中保存所有实体,在这个循环中,我创建了另一个循环,我检查第二个请求中是否存在当前元素。我认为他们这个解决方案很重(两个请求和复杂的循环)所以我试着直接在一个请求中做。

感谢您的帮助!我希望它不会让你失去你的时间......

编辑: @Strawberry在评论中给了我答案,我在做什么

SELECT * FROM oneTable LEFT JOIN anotherTable ON oneTable.idOT = anotherTable.idOT **WHERE** anotherTable.idAT = 2

而不是

SELECT * FROM oneTable LEFT JOIN anotherTable ON oneTable.idOT = anotherTable.idOT **AND** anotherTable.idAT = 2 

这很简单......再次感谢你们。

1 个答案:

答案 0 :(得分:0)

感谢问题的评论,正确的要求是:

SELECT * FROM oneTable
LEFT JOIN anotherTable ON oneTable.idOT = anotherTable.idOT
AND anotherTable.idAT = 2;