将多个临时SQL表与INNER JOIN组合在一起

时间:2018-01-31 14:40:14

标签: 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

但我有一个错误:“缺少关键字”

这里缺少什么?

2 个答案:

答案 0 :(得分:1)

您需要从这两个查询中进行选择:

wb.Sheets[1].Cells(1,2).Value

我使用了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 ,但您可以将其更改为列出要返回的字段。

但是,这会为您提供每行中两个查询的结果。如果您希望结果在不同的行中垂直添加,请改用SELECT *

UNION

答案 1 :(得分:0)

通过查看您提供的示例,您实际上正在尝试合并两个表,这些表由union执行。

如果您真的想使用inner join,那么on就会丢失。您需要提供一个列来连接这些表。

https://dev.mysql.com/doc/refman/5.7/en/join.html