在PHP中搜索相同的结果显示多次?
我使用PHP中的SQL查询进行搜索:在PHP中搜索相同的结果显示多次?,php,sql,search,select,Php,Sql,Search,Select,我使用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只显示一次,而不是多次。尝试选择dis
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只显示一次,而不是多次。尝试选择distinct或使用group by。如果您使用的是distinct或group by,也可以使用下面的查询。请尝试使用一个元素,例如选择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(、列2等)
2.选择*FROM table_name GROUP BY column_1(,column_2)我也尝试过,但它也会显示与我前面提到的相同的结果。所有结果是否相同,或者查询是否返回多个不同的行?查询返回多个不同的行
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."%'
)