Как написать условие JOIN (с предложением USING) - PullRequest
0 голосов
/ 24 марта 2020

Я хочу сравнить два столбца с одинаковыми именами в двух разных таблицах, но продолжаю получать ошибки.

Есть ли способ сделать выражения без "publi c" и без двойных кавычек ""?

SELECT "OrderNr"
FROM public."Export"
LEFT JOIN public."Temp"
USING "Export"."OrderNr" = "Temp"."OrderNr";

1 Ответ

2 голосов
/ 24 марта 2020

Ваш синтаксис JOIN неверен. Поскольку столбец "OrderNr" присутствует в обеих таблицах, вам также необходимо указать таблицу, из которой вы хотите взять его, в списке SELECT. Использование псевдонима таблицы облегчает это.

SELECT e."OrderNr"
FROM public."Export" e
  LEFT JOIN public."Temp" t ON e."OrderNr" = t."OrderNr";

Если вы хотите использовать предложение USING (которое я бы не рекомендовал), вы не указываете условие, а только имя столбца:

SELECT "OrderNr"
FROM public."Export" e
  LEFT JOIN public."Temp" t USING ("OrderNr");

Обычно схема public находится в пути поиска , поэтому вы можете исключить его:

SELECT e."OrderNr"
FROM "Export" e
  LEFT JOIN "Temp" t ON e."OrderNr" = t."OrderNr";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...