所以这可能是一个简单的问题,但我想知道是否可以在一个查询中完成。
表A:包含基因信息
gene start end
1 a 5 0
2 b 6 1
3 c 7 2
4 d 8 3
5 e 9 4
6 f 10 5
7 g 11 6
8 h 12 7
9 i 13 8
10 j 14 9
表B:包含计算的基因信息。
gene1 gene2 cor
1 d j -0.7600805
2 c i 0.4274278
3 e g -0.9249361
4 a f 0.8567928
5 b h -0.3018518
6 d j -0.3723553
7 c i 0.1617981
8 e g 0.8575933
9 a f 0.8409788
10 b h 0.1506035
我想要的结果表是:
gene1 gene2 cor start1 end1 start2 end2
1 d j -0.7600805 8 3 14 9
2 c i 0.4274278 7 2 13 8
3 e g -0.9249361
4 a f 0.8567928
5 b h -0.3018518
6 d j -0.3723553 etc.
7 c i 0.1617981
8 e g 0.8575933
9 a f 0.8409788
10 b h 0.1506035
我能想到的方法是将表A连接到表B两次,首先是gene1
,然后是gene2
,这需要一个中间表。有没有更简单的方法可以一步到位?
答案 0 :(得分:2)
是的,两个联接会做到这一点
您只需要这样做:
id | item | sortingId
3 | test | 1
1 | test2 | 2
2 | test3 | 3
8 | test4 | 4
5 | test5 | 5
6 | test6 | 6
4 | test7 | 7
7 | test8 | 8
根据您的dbms,您可能需要稍微调整语法