2017-02-17 4 views
0

У меня есть таблица, клиенты, это выглядит вроде как это:Комбинирование тетив SQL

CustomerID cobuyerID 
001   005 
002   
003   006 
004   
005 
006 

Могу ли я использовать С, чтобы получить набор клиентов и набор cobuyers? Так что-то вроде:

;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

Я полагаю, вы могли бы сделать это с LEFT JOIN или существует ...

Я не думаю, что Вы можете иметь свой КТР определяется как клиентов и выбрать один из клиентов table ... два объекта одинакового имени, похоже, что механизм БД запутался.

Вот левый присоединиться ...

;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 
) 
Смежные вопросы