sql iki tablo arasındaki farklar dönüş için sorgu
İki tablo, SQL Server, bazı verileri kontrol etmek karşılaştırmak için çalışıyorum. Veri ya biri ya da diğeri her iki tablodan tüm satırları geri dönmek istiyorum. Özünde, tüm farklılıkları göstermek istiyorum. Böylece veri, Ad, Soyad ve Ürün üç adet kontrol etmem gerekiyor.
SQL için oldukça yeniyim ve bulduğum çözümleri çok komplike şeyler bitti gibi görünüyor. Null hakkında endişelenmenize gerek yok.
Böyle bir şeyi deneyerek başladım:
SELECT DISTINCT [First Name], [Last Name], [Product Name] FROM [Temp Test Data]
WHERE ([First Name] NOT IN (SELECT [First Name]
FROM [Real Data]))
Ama sorun daha alarak geçiriyorum.
Teşekkürler!
DÜZENLEME:
@Cevap treaschf dayalı olan aşağıdaki sorgu bir varyasyon kullanmaya çalışıyorum:
SELECT td.[First Name], td.[Last Name], td.[Product Name]
FROM [Temp Test Data] td FULL OUTER JOIN [Data] AS d
ON td.[First Name] = d.[First Name] AND td.[Last Name] = d.[Last Name]
WHERE (d.[First Name] = NULL) AND (d.[Last Name] = NULL)
Ama d değil td en az 1 satır olduğunu öğrendiğimde 0 sonuçlar elde ediyorum.
DÜZENLEME:
Tamam, anladım sanırım. En azından test birkaç dakika içinde yeterince iyi iş gibi görünüyor.
SELECT [First Name], [Last Name]
FROM [Temp Test Data] AS td
WHERE (NOT EXISTS
(SELECT [First Name], [Last Name]
FROM [Data] AS d
WHERE ([First Name] = td.[First Name]) OR ([Last Name] = td.[Last Name])))
Bu temelde bu benim test verileri içinde ne olduğunu bana söyleyecekdeğilbenim gerçek veri. Yapmam gereken şey için tamamen iyi olan.
CEVAP
EĞER colum ile tablolar A
B
, hem C
burada B
11 *tablo ama yok olan kayıtlar
SELECT A.*
FROM A
LEFT JOIN B ON (A.C = B.C)
WHERE B.C IS NULL
Tek bir sorgu, bir tam bütün farklılıkları katılmak için, bu gibi kullanılmalıdır:
SELECT A.*, B.*
FROM A
FULL JOIN B ON (A.C = B.C)
WHERE A.C IS NULL OR B.C IS NULL
Ne yapman gerektiğini biliyorsun, bu durumda, o zaman bir kayıt bulunabilir A
ama ** 16 yaşında, daha sütunları olan gel B
olacak NULL, ve benzer şekilde, hangi hediye B
A
sütun A
olacaktır null.
SQL iki tarih arasındaki tarihleri seç...
kullanarak wmode=&; şeffaf" " aras...
Herhangi bir derinlik için tek bir sor...
'git' ve 'Çek arasındak...
HashMap ve Hashtable arasındaki farkla...