У меня есть сценарий, в котором у меня есть 3 таблицы (Table1, Table2, Table3
)
Table1
содержит данные, благодаря которым каждый MEMBNO
уникален
Я хотел бы от JOIN
до Table2
и Table3
отображать результаты, но иметь только одну строку для каждого результата
Я старался
SELECT A.MEMBNO,A.FIELD1,B.FIELD1,B.FIELD2,C.FIELD1
FROM Table1 A
INNER join Table2 B ON A.MEMBNO = B.MEMBNO
INNER join Table3 C ON A.MEMBNO = C.MEMBNO
но я получаю несколько результатов. Если MEMBNO
находится в таблице 2 дважды и в таблице 3 четыре раза, я получаю 8 строк.
Является ли мое JOIN правильным или это единственный способ контролировать это с помощью оператора WHERE
после JOIN для управления тем, что возвращается из таблицы 2 и таблицы 3 (т.е. SQL «тупой» объединяет все данные и ожидает, что оператор WHERE
будет файлером? )
Большое спасибо
GROUP BY
илиDISTINCT
поверх вашегоJOIN
. - person PM 77-1   schedule 12.01.2015ON
(а не только вWHERE
). - person lp_   schedule 12.01.2015