【问题标题】:How to lookup value from a table and select it within the current table如何从表中查找值并在当前表中选择它
【发布时间】:2023-01-20 16:55:58
【问题描述】:
我正在尝试从表 (Table2) 中查找值 (c) 并将其链接到我在表 1 中的值 (a)。当我运行以下行时,出现错误“无法评估不受支持的子查询类型”。不知道如何解决它。任何帮助深表感谢。
SELECT a, b, (SELECT c FROM Table2 AS T2 WHERE T1.a = T2.a) AS c, FROM Table1 AS T1;
我尝试了不同的子查询类型,但找不到解决方案。
【问题讨论】:
标签:
sql
select
subquery
snowflake-cloud-data-platform
【解决方案1】:
您可以在列a 上连接 Table1 和 Table2,以便您可以从 Table2 中选择值 c 并将其链接到 Table1 中的值 a。
下面是一个示例,说明如何使用连接语句来完成此操作:
SELECT T1.a, T1.b, T2.c
FROM Table1 T1
JOIN Table2 T2 ON T1.a = T2.a;
此查询分别从Table1 和Table2 中选择列a、b 和c,并将它们连接到两个表的列a 上。
如果 Table1 的记录多于 Table2,另一种方法是使用左连接。
SELECT T1.a, T1.b, T2.c
FROM Table1 T1
LEFT JOIN Table2 T2 ON T1.a = T2.a;
这将显示来自Table1 的所有记录和来自Table2 的匹配记录。如果 Table2 没有匹配的记录,则 c 列将为 null。
请注意,以上示例是按照ANSI SQL标准编写的,语法可能因您使用的特定数据库管理系统而异。