У меня проблема:Выбор возвращает ту же строку несколько раз
В БД у меня есть две таблицы. Значение из одного столбца в первой таблице может отображаться в двух разных столбцах во втором.
Таким образом, конфигурация выглядит следующим образом:
TABLE_A: Колонка Print_group Таблицы _b: Столбцы Print_digital и Print_offset
Значение из различных строк и Print_group столбца TABLE_A могут появиться в одной строке Table_B, но в другом столбце.
У меня есть следующий запрос:
SELECT DISTINCT * FROM Table_A
INNER JOIN B ON (Table_A. Print_digital = Table_B.Print_group OR
Table_A.Print_offset = Table_B.Print_group)
Проблема заключается в том, что этот запрос возвращает ту же строку из TABLE_A два раза.
Что я делаю неправильно? Каков правильный запрос?
Спасибо за вашу помощь
присоединение может это. можете ли вы показать пример данных? –
Если вы присоедините таблицу A к таблице B, а таблица B имеет больше столбцов, часто она будет дублировать строку из таблицы A каждый раз, когда она соединяется с B. В этом случае вы предпочли бы, чтобы повторяющиеся строки были пустыми из таблицы A? –
Итак, скажем, что столбец Print_group таблицы_А имеет значения 1 в первой строке и 2 на второй. В Table_B есть только одна строка (чтобы это было просто на данный момент). Столбец Print_digital в таблице_B содержит значение 1 из первой строки таблицы_A, а столбец Print_offset таблицы_B содержит значение 2 (значения находятся в одной строке таблицы_B). Запуск вышеупомянутого запроса возвращает результат, содержащий две строки - это одна строка таблицы_B, возвращаемая два раза ... – user2852877