Подзапросы с выбором в улье - PullRequest
1 голос
/ 15 марта 2019

Команда,

У меня здесь проблема, есть 2 временные таблицы a & b со значениями 5 и 6 для соответствующего столбца, такие как a.ref1 & b.ref2.

Iя пытаюсь получить эти значения в другой SQL, например

"select c.col1, d.col1,d.col2 from c join d on a.id=d.id where d.col1=(schema_name).a.ref1  or 
d.col2=(schema_name).b.ref2"

Я получаю сообщение об ошибке типа

"Invalid table alias or column reference "

.любые мысли, почему так себя ведет.Я попытался с помощью запроса select передать значения временной таблицы, но это не работает в улье. Любая дополнительная помощь будет оценена

1 Ответ

0 голосов
/ 15 марта 2019

Вы можете сделать это, используя что-то, называемое Common Table Expression. Это улучшит ваш запрос.

Это будет выглядеть так:

WITH
    refined_d AS
    (
        SELECT
            d.id,
            d.col1,
            d.col2
        FROM
            d
        INNER JOIN
            (schema_name).a
        ON
            ( (schema_name).a.ref1 = d.col1)
        INNER JOIN
            (schema_name).b
        ON
            ( ( schema_name).b.ref2 = d.col2)
    )
SELECT
    c.col1,
    d.col1,
    d.col2
FROM
    c
JOIN
    refined_d d
ON
    c.id=d.id;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...