我想这样做:
(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
但我有一个错误:“缺少关键字”
这里缺少什么?
答案 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
就会丢失。您需要提供一个列来连接这些表。