使用内部联接组合多个临时SQL表
我想这样做:使用内部联接组合多个临时SQL表,sql,Sql,我想这样做: (Select field1 FROM TB1 INNER JOIN . . WHERE etc ) temp1 INNER JOIN (Select field1 FROM TB2 INNER JOIN . . WHERE etc ) temp2 WHERE temp1.field1=temp2.field1 但我有一个错误:“缺少关键字”
(Select field1
FROM TB1
INNER JOIN
.
.
WHERE etc
) temp1
INNER JOIN
(Select field1
FROM TB2
INNER JOIN
.
.
WHERE etc
) temp2
WHERE temp1.field1=temp2.field1
但我有一个错误:“缺少关键字”
这里缺少什么?通过查看您提供的示例,实际上您正在尝试合并两个表,这是由
union
执行的
如果您确实想使用内部联接
,那么上的将丢失。您需要提供一个列来联接这些表
您需要从这两个查询中选择:
SELECT *
FROM (Select field1
FROM TB1
INNER JOIN
.
.
WHERE etc
) temp1
INNER JOIN (Select field1
FROM TB2
INNER JOIN
.
.
WHERE etc
) temp2 ON temp1.field1 = temp2.field1
我使用了选择*
,但您可以将其更改为列出要返回的字段
但是,这将为您提供每行中合并的两个查询的结果。如果希望结果在不同的行中垂直相加,请改用UNION
:
(Select field1
FROM TB1
INNER JOIN
.
.
WHERE etc)
UNION
(Select field1
FROM TB2
INNER JOIN
.
.
WHERE etc)
我猜您正在寻找联合
您需要在顶部第一个括号之前的选择*FROM
,以及加入
的条件。将您的WHERE
关键字替换为ON
。实际上缺少了很多。你希望你的最终结果是什么?缺少的东西太多了,以至于不清楚您要做什么。您的预期输出是什么?您使用的是哪种产品?博士后?神谕“SQL”只是一种查询语言,而不是特定数据库产品的名称。但是一般来说,JOIN
还需要一个由ON
关键字定义的连接条件。好的,已经这样做了。谢谢现在我遇到了以下错误:并行查询服务器达到了异常条件。这意味着什么?对于多条记录?您使用了哪种查询,第一个是带有JOIN
的查询,第二个是带有'UNION'的查询?你需要发布整个查询,否则我们无法帮助你。嗨,我可以把代码放在哪里。此评论字段有限。请编辑您的问题,并在此处添加您的查询和所有相关信息。您可以在问题下方看到编辑链接。