在sql server 2005中,如何获取下面表3中的结果集? table3是通过组合table1和table2创建的,如下所示:
table1.empid
table1.ticket
table2.identid
对table1加入table2的更新不起作用,因为empid不是唯一的。如果该员工已在使用该ID,则需要增加到下一个table2.indentid。
此外,还没有创建下面的表3。它是table1和table2的生成集。我使用table3作为生成集应该是什么样子的示例。
table1
empid ticketid indentid
1 7 20
1 9 4
2 9 21
table2
indentid empid
90 1
91 1
92 2
table3
empid ticketid table1_indentid table2_identid
1 7 20 90
1 9 4 91
2 9 21 92
答案 0 :(得分:1)
table1和table2之间的唯一连接是empid
table3示例的第1行和第2行具有相同的empid,因此它们也应该具有相同的table2_identid。您的示例不正确,或者无法查询现有数据。
但也许这就是你想要的:
如果您加入这样的表
SELECT empid, ticketid, t1.indentid as table1_indentid, t2.identid as table2_identid
FROM table1 AS t1
INNER JOIN table2 AS t2 ON t1.empid = t2.empid
你会得到
table3
empid ticketid table1_indentid table2_identid
1 7 20 90
1 7 20 91
1 9 4 90
1 9 4 91
2 9 21 92
答案 1 :(得分:0)
这就是你需要的:
select t1.empid, t1.ticketid,
t1.indentid as table1_indentid,
t2.indentid as table2_identid
from table1 t1
inner join table2 t2 on t1.empid = t2.empid
但是,您应该考虑审核您的数据结构。