簡體   English   中英

SQL查詢產生所有組合

[英]SQL Query Produce all Combinations

我已經搜索並查看了,但是無法完全按照我的需要運行SQL查詢。 我有此數據:

10019201        GEE78316634770
10019201        SIE78308706478
10019202        GEE78316634773
10019202        SIE78308706477
10019202        SIE78308706499
10019202        SIE78308706900
10019501        SIE78308706917
10019501        GEE78316634930

我想基於第一列匹配的事實創建以下輸出,以下輸出:

GEE78316634770     SIE78308706478
SIE78308706478     GEE78316634770
GEE78316634773     SIE78308706477
GEE78316634773     SIE78308706499
GEE78316634773     SIE78308706900
SIE78308706477     GEE78316634773
SIE78308706477     SIE78308706499
SIE78308706477     SIE78308706900
SIE78308706499     GEE78316634773
SIE78308706499     SIE78308706477
SIE78308706499     SIE78308706900
SIE78308706900     GEE78316634773
SIE78308706900     SIE78308706477
SIE78308706900     SIE78308706499
SIE78308706917     GEE78316634930
GEE78316634930     SIE78308706917

因此,結果為10019201的前兩個記錄將匹配為

GEE78316634770     SIE78308706478
SIE78308706478     GEE78316634770

下一組記錄為10019202的記錄-有四個匹配項,因此結果為:

GEE78316634773     SIE78308706477
GEE78316634773     SIE78308706499
GEE78316634773     SIE78308706900
SIE78308706477     GEE78316634773
SIE78308706477     SIE78308706499
SIE78308706477     SIE78308706900
SIE78308706499     GEE78316634773
SIE78308706499     SIE78308706477
SIE78308706499     SIE78308706900
SIE78308706900     GEE78316634773
SIE78308706900     SIE78308706477
SIE78308706900     SIE78308706499

彼此匹配3。

有人可以幫助我查詢以獲得所需的結果嗎?

謝謝! 萊斯利

使用自聯接:

{使用列名IDValue只是為了顯示語法}

SELECT 
    t1.Value Value1,
    t2.Value Value2
FROM table t1
INNER JOIN table t2 
    ON t1.ID = t2.ID
    AND t1.Value <> t2.Value 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM