webForumDet fria alternativet

Lista tupler som skilje sig...

4 svar · 186 visningar · startad av Engine^

Engine^Medlem sedan dec. 20003 887 inlägg
#1

Jag har två versioner av samma tabell där det i den ena har gjorts förändringar. Kan jag med en enkel ;) SQL-fråga lista de rader som inte är lika?

typ SELECT tabell2.* FROM tabell2 WHERE NOT [rad i tabell1] = [rad i tabell2] AND tabell1.ID = tabell2.ID

LarsGMedlem sedan dec. 200012 464 inlägg
#2
select * from table2 
where pkColumn not in (select pkColumn from table1)
Engine^Medlem sedan dec. 20003 887 inlägg
#3

Ungefär... jag skulle dock vilja jämföra alla kolumner på en gång och om någon skiljer så ska det listas. Måste jag göra OR i WHERE för varje kolumn jag vill kolla?

SELECT * FROM table2
WHERE column1 NOT IN (SELECT column1 FROM table1)
OR column2 NOT IN (SELECT column2 FROM table1)
.
.
.
OR column[i]n[/i] NOT IN (SELECT colum[i]n[/i] FROM table1)
AND table1.ID = table2.ID
LarsGMedlem sedan dec. 200012 464 inlägg
#4
select * from table2 
where exists
(select * from table2
  where id = table1.id 
       and (col1 <> table1.col1
       or   col2 <> table1.col2
       or   col3 <>  table1.col3))
Engine^Medlem sedan dec. 20003 887 inlägg
#5

Jag lär vara snurrig... det här var egentligen det jag ville veta

SELECT t1.*
FROM tblArtikelRegister1 AS t1
INNER JOIN tblArtikelRegister AS t2 ON t1.intArtikelID = t2.intArtikelID
WHERE NOT t1.intAntalILager = t2.intAntalILager
OR NOT t1.bGruppArtikel = t2.bGruppArtikel
OR NOT t1.bLagerArtikel = t2.bLagerArtikel
OR NOT t1.cryInköpsPris = t2.cryInköpsPris
OR NOT t1.strLagerPlats = t2.strLagerPlats;

Jag är iofs intresserad om det går att jämföra alla kolumner i en tabellrad med alla kolumner i en annan tabellrad, två olika tabeller med nästan samma data.

131 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)