给定第一个表,我需要使用相同的表连接此表并获取输出表。这里我们需要基于相同的seqid配对术语,这些术语应该仅从第一个表到第二个表配对。
Example:S1 T1 T2
S1 T1 T3
S1 T2 T3
这是正确的输出形式,但是一旦T1,T2已经在输出表中配对,我们就不应该得到S1 T2 T1和S1 T3 T2。
GIVEN TABLE:
SEQID TID
S1 T1
S1 T2
S1 T3
S2 T2
S2 T3
S2 T5
S2 T6
输出:
SEQID TID TID
S1 T1 T2
S1 T1 T3
S1 T2 T3
S2 T2 T3
S2 T2 T5
S2 T2 T6
S2 T3 T5
S2 T3 T6
S2 T5 T6
提前致谢..
答案 0 :(得分:3)
SELECT gt1.seqid, gt1.tid, gt2.tid
FROM giventable gt1
JOIN giventable gt2
ON gt2.seqid = gt1.seqid
AND gt2.tid > gt1.tid
答案 1 :(得分:0)
尝试以下方法:
SELECT a.seqid, a.tid, b.tid
FROM [TABLE] a
INNER JOIN [TABLE] b on a.seqid = b.seqid
WHERE a.tid < b.tid
ORDER BY a.seqid, a.tid