我对 SQL 查询有点困惑。
用户应该能够搜索邮政编码、公司名称或位置
我有下表:
公司表
companyid | name | location
1 Shop One New York
2 Shop Two France
postcode_areas 表
postcode | companyid
BB1 1
BB3 1
BB1 2
因此,如果用户输入 BB1
,那么它应该显示结果“Shop One”和“Shop Two”。
如果用户输入公司名称或位置 - 它只会从公司表中搜索。
最佳答案
使用两个表的联接并对所有字段进行 OR 搜索:
SELECT DISTINCT c.* FROM company c JOIN postcode_areas p USING (companyid)
WHERE c.name = "$QUERY" OR c.location = "$QUERY" OR p.postcode = "$QUERY";
您可以使用LIKE "%$QUERY%"
来获取部分查询的结果。
关于mysql - 搜索查询 - 邮政编码、公司名称或位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6069933/