вложенное соединение в Db2 - PullRequest
0 голосов
/ 08 февраля 2019

Люди, что не так с этим запросом? Я получаю сообщение об ошибке, указав ниже в DB2 LUW.

[42703] [- 206] «d.sales» недопустимо в контексте, где этоused .. SQLCODE = -206, SQLSTATE = 42703, DRIVER = 4.23.42 [56098] [- 727] Произошла ошибка при неявном типе действия системы "2".Информация, возвращаемая для ошибки, включает SQLCODE "-206", SQLSTATE "42703" и токены сообщений "d.sales". SQLCODE = -727, SQLSTATE = 56098, DRIVER = 4.23.42

SELECT listagg(e.name,';'), e.address,d.sales
FROM emp e
JOIN (
    SELECT distinct sales, org
    FROM sales s
    JOIN address a ON S.ID = a.id
) d ON d.salesid = e.salesid 

Ответы [ 2 ]

0 голосов
/ 08 февраля 2019

очевидно, я составил плохой пример, так как не могу пройти мимо фактического запроса.Я думаю, что вы все правы, отсутствует колонка.

0 голосов
/ 08 февраля 2019

Посмотрите на ваш запрос:

SELECT listagg(e.name,';'), e.address,d.sales
FROM emp e
JOIN (SELECT distinct sales, org  -- you need to add salesid to your columns set
         FROM sales s
         JOIN address a ON S.ID = a.id
) d ON d.salesid = e.salesid 

Вы забыли выбрать salesid в своем подзапросе d

Вам необходимо добавить либо s.salesid, либо a.salesid

...