Что не так с моим запросом к производной таблице? - PullRequest
1 голос
/ 10 октября 2019

Я довольно новичок в SQL и только начал изучать производные таблицы. Дело в том, что созданы две таблицы, одна без нуля, а другая с нулем, но я не могу понять, почему соединение не будет работать. я получаю ошибки "Неверный синтаксис рядом с ключевым словом" OUTER "." и"Неверный синтаксис рядом с ключевым словом" ON "."но я до сих пор не понимаю ...

вот мой код:

SELECT customer_id, order_id, order_status, shipped_date
FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_status) AS rownum,
customer_id, order_id, order_status, shipped_date
FROM Sales.orders) AS T 
WHERE shipped_date IS NOT NULL

OUTER JOIN

SELECT customer_id, order_id, order_status, shipped_date
FROM (
SELECT ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_status) AS rownum,
customer_id, order_id, order_status, shipped_date
FROM Sales.orders) AS T2
WHERE shipped_date IS  NULL

ON T.customer_id = T2.customerid;

1 Ответ

3 голосов
/ 10 октября 2019

попробуйте, как показано ниже

    select a.*,b.*  from (SELECT customer_id, order_id, order_status, shipped_date
    FROM (
    SELECT ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_status) AS rownum,
    customer_id, order_id, order_status, shipped_date
    FROM Sales.orders) AS T 
    WHERE shipped_date IS NOT NULL
   ) a    
    left JOIN

    (SELECT customer_id, order_id, order_status, shipped_date
    FROM (
    SELECT ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_status) AS rownum,
    customer_id, order_id, order_status, shipped_date
    FROM Sales.orders) AS T2
    WHERE shipped_date IS  NULL
   ) b    
    ON a.customer_id = b.customerid;

Кстати, вы можете сделать это, используя один запрос

SELECT customer_id, order_id, order_status, shipped_date
        FROM (
        SELECT ROW_NUMBER() OVER (PARTITION BY customer_id ORDER BY order_status) AS rownum,
        customer_id, order_id, order_status, shipped_date
        FROM Sales.orders) AS T2
        WHERE shipped_date IS  NULL or shipped_date is not null
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...