SELECT DISTINCT удаляет дубликаты из вашего вывода.
Но ваш SQL выглядит неправильно. Вы уверены, что хотите написать:
TABLE1.FIELD1 <> TABLE1.FIELD1
Это всегда означает ложь. Я думаю, что у вас может быть ошибка в вашем SQL, и это может быть причиной того, почему вы получаете дублированные значения. Вы редко должны использовать <>
в предложении объединения, и у вас не должно быть одинакового поля с обеих сторон.
Может быть, вы намеревались:
ON [DB1].[dbo].TABLE1.FIELD1 <> [DB2].[dbo].TABLE1.FIELD1
но это сгенерирует декартово произведение всех не совпадающих строк. Я сомневаюсь, что это то, что вы действительно имеете в виду. Возможно, вы хотите это:
ON [DB1].[dbo].TABLE1.ID = [DB2].[dbo].TABLE1.ID
WHERE[DB1].[dbo].TABLE1.FIELD1 <> [DB2].[dbo].TABLE1.FIELD1
Соответствует строкам из каждой базы данных, которые имеют одинаковый идентификатор, но отличаются в определенном столбце. Обратите внимание, что <>
отсутствует в предложении JOIN.
--- ОБНОВЛЕНИЕ ---
Возможно, вы хотите выбрать результаты из двух разных баз данных, а затем объединить их?
SELECT appointment_datas.appointment_date
,appointment_datas.appointment_no
,costumer_datas.costumer_name
,appointment_datas.appointment_type
,personel_datas.personel_ADI
FROM [LONI].[dbo].appointment_datas
INNER JOIN [LONI].[dbo].costumer_datas ON appointment_datas.appointment_costumer = costumer_datas.costumer_id
INNER JOIN [LONI].[dbo].personel_datas ON appointment_datas.appointment_personel = personel_datas.personel_id
WHERE CONVERT(nvarchar(8),appointment_datas.appointment_date,112)
UNION
SELECT appointment_datas.appointment_date
,appointment_datas.appointment_no
,costumer_datas.costumer_name
,appointment_datas.appointment_type
,personel_datas.personel_ADI
FROM [GUONU].[dbo].appointment_datas
INNER JOIN [GUONU].[dbo].costumer_datas ON appointment_datas.appointment_costumer = costumer_datas.costumer_id
INNER JOIN [GUONU].[dbo].personel_datas ON appointment_datas.appointment_personel = personel_datas.personel_id
WHERE CONVERT(nvarchar(8),appointment_datas.appointment_date,112)
--- РЕШЕНИЕ ---
Использовать NOT EXISTS в предложении WHERE. Прочитайте комментарии, чтобы понять почему.