我有一个包含三个表的联系人的MySQL数据库。
每个联系人都会共享一个名为' ID 的主键'
personContact表包含名为' personZip '的值。这恰好是他们的邮寄地址邮政编码。
我想写一个SQL查询,它会为我提供特定邮政编码数组中每个人的所有联系人数据。
我已经编写了一个简单的语句来对其中两个表执行内连接:
SELECT * FROM `personContact`
INNER JOIN person
ON personContact.ID=person.ID
我已经写了一份声明,只选择我需要的邮政编码:
SELECT * FROM 'personContact'
WHERE personContact.personZip=12564
OR personContact.personZip=12563
OR personContact.personZip=12522
OR personContact.personZip=12590
OR personContact.personZip=12594
OR personContact.personZip=12533
OR personContact.personZip=12570
OR personContact.personZip=12589
OR personContact.personZip=10509
我不确定如何执行两个连接,以合并所有三个表中的所有列。
我不确定如何编写查询以同时选择邮政编码和JOINS。
MySQL错误并没有帮助我朝着正确的方向前进。
答案 0 :(得分:2)
你快到了。使用等同于in
的{{1}}。
or
答案 1 :(得分:1)
加入所有三个表并返回所有列,同时按邮政编码过滤:
adb connect IP_ADDRESS:PORT
编辑:可以使用其他人建议的SELECT person.*, personContact.*, personDetails.*
FROM person
INNER JOIN personContact ON personContact.ID = person.ID
INNER JOIN personDetails ON personDetails.ID = person.ID
WHERE personContact.personZip = 12564
OR personContact.personZip = 12563
OR personContact.personZip = 12522
OR personContact.personZip = 12590
OR personContact.personZip = 12594
OR personContact.personZip = 12533
OR personContact.personZip = 12570
OR personContact.personZip = 12589
OR personContact.personZip = 10509
替换多个OR
语句
IN