sql - 如何编写 JOIN 条件(使用 USING 子句)
问题描述
我想比较两个不同表中同名的两列,但我不断收到错误。
有没有办法在没有“public”和没有双引号的情况下进行表达""
?
SELECT "OrderNr"
FROM public."Export"
LEFT JOIN public."Temp"
USING "Export"."OrderNr" = "Temp"."OrderNr";
解决方案
您的 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";
推荐阅读
- android - 如何通过 Java 代码(或通过 Java 代码的 ADB 命令)更改 CPU 频率?
- python-3.x - 如何仅过滤一行中的文本?
- node.js - 我可以在 Azure 中以对象格式设置节点环境变量吗
- combinations - labview真值表组合
- javascript - Vue组件无法读取属性
- reactjs - useCallback/useMemo 与数组
- javascript - 使用 Angular Material Select 和 Reactive Forms 访问输入
- php - 如何编码以显示 mysql 数据库中数据的每次更改
- javascript - jquery 不提交表单
- mysql - 在 MySQL 中使用 GROUP BY 求和和减法