【发布时间】:2014-12-10 14:21:18
【问题描述】:
我有两个表,我想从第一个表中获取所有实体,然后检查它们是否可以与另一个表中的特定实体相关。如果它们可以关联,则数据库返回 1(或 true),否则返回 NULL(或 false)。
我尝试了一些使用 LEFT JOIN 的方法,但它们都不起作用。我认为解决方案很简单,但我无法弄清楚......
上下文: 在我的应用程序中,我提出了两个请求,第一个请求从 oneTable 中获取所有实体,第二个请求从 anotherTable 中获取所有 idOT,其中 idAT 等于 2,然后,我创建一个循环我保存第一个请求中的所有实体,并在这个循环中创建另一个循环,检查当前元素是否存在于第二个请求中。我认为他们的这个解决方案很繁重(两个请求和重叠的循环),所以我尝试直接在一个请求中完成。
感谢你们的帮助!我希望它不会让你浪费时间......
编辑: @Strawberry 在 cmets 中给了我答案,我在做
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
就这么简单......再次感谢你们。
【问题讨论】:
-
我们可以看到您尝试左连接吗?如果我们关心浪费时间,我们可能不会在这里;-)
-
类似的东西:SELECT * FROM oneTable LEFT JOIN anotherTable ON oneTable.idOT = anotherTable.idOT WHERE anotherTable.idAT = 2。但我需要 oneTable 中的所有实体...
-
谢谢@Strawberry 我知道这很简单(我以为我已经尝试过了,但显然没有^^)。也感谢安德鲁的帮助。我觉得很菜鸟...
标签: mysql sql select phpmyadmin