-1

検索に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 に複数回ではなく 1 回だけ表示させたいと考えています。

4

3 に答える 3

1

個別に選択するか、groupbyを使用してみてください。以下のクエリを使用できます。また、SELECT *の代わりにSELECTidなど、1つの要素を使用して個別またはグループを使用している場合も、以下のクエリを使用できます。

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."%'
于 2012-12-05T11:29:38.957 に答える
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."%'
)

于 2012-12-05T11:42:44.873 に答える
0


1. SELECT DISTINCT column_1(, column_2, etc) FROM table_name 2.
SELECT * FROM table_name GROUP BY column_1(, column_2)

于 2012-12-05T11:49:46.550 に答える