我有查询:如何使查询具有唯一性?
SELECT TOP 20 f.id_service AS f_id_service,
f.id_city AS f_id_city,
f.name AS f_name,
f.address AS f_address,
f.business AS f_business,
f.web AS f_web,
f.phone AS f_phone,
f.id_firm AS f_id_firm
FROM Firm f
LEFT JOIN Price p
ON p.id_service = f.id_service
AND p.id_city = f.id_city
AND p.id_firm = f.id_firm
WHERE f.name NOT IN (SELECT DISTINCT TOP 20 f.name
FROM Firm f
WHERE f.blocked = '0'
AND (f.name LIKE 'АВТО%'
OR f.phone LIKE 'АВТО%')
AND (f.phone != ''
OR f.address != '')
AND f.id_city = '73041'
ORDER BY f.name ASC)
AND f.dogovor = '1'
AND f.blocked = '0'
AND (f.name LIKE 'АВТО%'
OR f.phone LIKE 'АВТО%')
AND (f.phone != ''
OR f.address != '')
AND f.id_city = '73041
请告诉我如何使这个查询只选择唯一f.name?
都开始在'Firm'表中是唯一的'name'值?如果它们是,那么它必须是产生重复项的连接。你需要加入吗?看起来你并没有这样做:你没有从'价格'中选择任何东西,或者在任何列上进行筛选。所以只是摆脱它。如果情况并非如此(即重复内容来自“Firm”本身),请详细说明。 –