Member 14588284 Ответов: 1

Как я могу получить вспомогательную колонку более одной


в этом запросе как я могу получить 2-3 столбца?

но не используйте join или unıon

"SELECT A.*,(SELECT COL1,COL2,COL3 FROM EATTM001 WHERE COL2=A.COL2)  FROM SYS20.EATTM002 A "


Что я уже пробовал:

"SELECT A.*,(SELECT COL1 FROM EATTM001 WHERE COL2=A.COL2)  FROM SYS20.EATTM002 A "

Sandeep Mewara

Есть ли какая-то конкретная причина, почему нет объединения, когда вам нужны данные из двух таблиц и у них есть общий столбец?

Member 14588284

потому что возможно во второй таблице нет равного значения в col2 первая таблица col2 значение

Sandeep Mewara

Это не подходит для левого/правого внешнего соединения?

Member 14588284

Спасибо, я им раньше не пользовался :)

1 Ответов

Рейтинг:
8

Sandeep Mewara

Основываясь на вашем комментарии, я предлагаю вам использовать левое внешнее соединение:

Ключевое слово LEFT JOIN возвращает все записи из левой таблицы (table1) и соответствующие записи из правой таблицы (table2). Результат равен нулю с правой стороны, если совпадения нет


Пример:
SELECT EATTM002.*, EATTM001.*
FROM EATTM002
LEFT JOIN EATTM001 ON EATTM001.COL2 = EATTM002.COL2
Все из EATTM002 и соответствующие им для EATTM001 будут извлечены.


Member 14588284

Спасибо, я им раньше не пользовался :)

Member 14588284

Могу ли я получить сумму столбца с левым joın?

Sandeep Mewara

- Да. https://learnsql.com/blog/introduction-using-aggregate-functions-joins/