У меня есть 3 таблицы A, B и C. Я хочу получить subId и текст для каждого идентификатора. Я также хочу знать, если ID имеет какой-либо eId связанный с ним.
Я использовал INNER JOIN для A и B, а затем LEFT JOIN'd для этого результата с таблицей C. Моя строка SQL до сих пор:
SELECT DISTINCT A.id,A.subId, B.text, C.eId
FROM A
INNER JOIN B ON A.id=B.id
LEFT JOIN C ON A.id=C.id
WHERE B.text='something'
Проблема в том, что C.eId имеет несколько записей для каждого идентификатора. Итак, я получаю вывод, как это:
=================================
id | subId | text | eId
1 e12 etc
2 e12 etc
2 t23 etc p1111
3 e12 etc
4 e12 etc p1234
4 e12 etc p4325
Я хочу удалить строки, подобные последней («4 e12 и т. Д. P4325»), потому что я уже знаю, что 4, e12 имеет какой-то другой eId, связанный с ним. Мне нужны id и subId, чтобы быть PrimaryKeys.
Как мне это сделать? DISTINCT работал, пока я не добавил несколько идентификаторов в eId.
Редактировать : Я использую MSSQL, если это имеет значение.