2015-06-05 3 views
-4

У меня есть две таблицы: table_A и table_W. Я хочу получить только несоответствующие детали платежа с соответствующими описаниями. Стол являются:Tsql сравнить два поля в результирующем наборе

table_W

adharno phone descrip_w amount_w 
1  11 p1  100 
2  22 p1  250 
2  22 p2  250 
2  22 p3  300 
2  33 p1  150 
2  33 p2  150 
2  33 p3  400 
3  55 p1  50 
3  66 p1  100 

TABLE_A

adharno phone decrip_a amount_a 
1  11 p1  110 
2  22 p1  150 
2  22 p2  150 
2  22 p3  400 
2  33 p1  250 
2  33 p2  250 
2  33 p3  300 
3  55 p1  100 
3  66 p1  50 

Я получаю следующий результат.

adharno phone descrip_w amount_w decrip_a amount_a 
1  11 p1  100  p1  110 
2  22 p1  250  p1  150 
2  22 p2  250  p2  150 
2  22 p3  300  p3  400 
2  33 p1  150  p1  250 
2  33 p2  150  p2  250 
2  33 p3  400  p3  300 
3  55 p1  50  p1  100 
3  66 p1  100  p1  50 

Но результат я ищу заключается в следующем

adharno phone descrip_w amount_w decrip_a amount_a 
1  11 p1  100  p1  110 

Я хочу, чтобы сравнить соответствующий descrip, даже если phoneno отличается, но adhaarno должны быть одинаковыми.

+5

так .... Что вы пробовали? – HaukurHaf

ответ

1

Как насчет:

SELECT w.adharno, 
     w.phone w_phone, 
     descrip_w, 
     amount_w, 
     a.phone a_phone, 
     decrip_a, 
     amount_a 
FROM table_w w 
JOIN table_a a ON a.adharno = w.adharno 
       AND w.descrip_w = a.decrip_a 
       AND (w.phone <> a.phone 
       OR w.amount_w <> a.amount_a) 
Смежные вопросы