我在PHP中使用SQL查询进行搜索:
SELECT *
FROM vendor, branches
WHERE branches.vendor_id = vendor.vendor_id
AND vendor.name LIKE '%".$query."%'
OR vendor.description LIKE '%".$query."%'
OR branches.city LIKE '%".$query."%'
多次显示结果。我希望PHP只显示一次结果,而不是多次。
答案 0 :(得分:1)
尝试选择不同或使用分组依据。您可以使用下面的查询,如果您使用distinct或group,请尝试使用一个元素,例如SELECT id而不是SELECT *。
SELECT * FROM vendor as VTable
WHERE vendor.name LIKE '%".$query."%'
AND VTable.vendor_id = (SELECT TOP 1 FROM branches as BTable WHERE BTable.vendor_id = VTable.vendor OR BTable.city LIKE '%".$query."%')
OR vendor.description LIKE '%".$query."%'
答案 1 :(得分:1)
尝试
SELECT * FROM vendor INNER JOIN branches ON branches.vendor_id = vender.vendor_id
WHERE (
vendor.name LIKE '%".$query."%'
OR vendor.description LIKE '%".$query."%'
OR branches.city LIKE '%".$query."%'
)
答案 2 :(得分:0)
更具描述性,
1. SELECT DISTINCT column_1(,column_2等)FROM table_name
2. SELECT * FROM table_name GROUP BY column_1(,column_2)