2017-02-17 11 views
0

を組み合わせることで、それは一種の次のようになります。私は、顧客のテーブルを持っているSQL WITHsに

CustomerID cobuyerID 
001   005 
002   
003   006 
004   
005 
006 

は私が顧客の集合とcobuyersのセットを取得するために一緒に使用することはできますか?だから、のようなもの:あなたのCTEを持っている顧客として定義され、顧客から選択することができますが、私はあなたがLEFTでそれを行うことができたとJOINまたは存在

;WITH Customers as 
(
    SELECT * FROM Customers where (* WHERE CustomerID not in cobuyerID*) 
), 
Cobuyer as 
(
    SELECT * FROM Customers where (*WHERE CustomerID only in cobuyerID*)  
), 
+0

http://meta.stackexchange.com/questions/66377/what-is-the-xy-problem – Mihai

答えて

0

...

は、私は考えていませんテーブル...同じ名前の2つのオブジェクトはDBエンジンが混乱するようです。ここで、左が参加しています

...

;WITH C2 as 
(
    SELECT * 
    FROM Customers A 
    LEFT JOIN Customers B 
    ON A.CustomerID = B.CoBuyerID 
    WHERE B.CobuyerID is Null) 
), 
Cobuyer as 
(
    SELECT * 
    FROM C2 A 
    LEFT JOIN Customers B 
    on A.CoBuyer = B.CustomerID 
    WHERE B.CustomerID is null 
) 
関連する問題