webForumDet fria alternativet

Jämförelse av tabeller

Databaser & SQL

6 svar · 433 visningar · startad av Pierre.M

Medlem sedan juli 200412 inlägg
Frågan#1

Hallo!

Jag har ett "litet" problem, går det att jämföra tex tabell1 column X med tabell2 columnX i SQL....och kanske få ut ngt beroende på om de är lika eller inte.

Eller måste man göra det på "högre nivå" jag använder en programvara vid namn "citect" gentemot SQL databas.

Medlem sedan dec. 200012 464 inlägg
#2

Jag vet inte om det går eftersom jag inte förstår vad du menar. Beskriv hur dina tabeller är definerade, ge lite exempel på datainnehåll och det resultat du förväntar dig av frågan.

Medlem sedan juli 2001203 inlägg
#3

kanske det är så här du menar?

SELECT tabell1.columnX FROM tabell1 INNER JOIN tabell2 ON tabell1.columnX = tabell2.columnX

Detta kallas att "joina" två tabeller.

Medlem sedan juli 200412 inlägg
#4

Jag har ett antal tabeller men en Master tabell innehållande

Tabell: Master
ID X1 X2.....etc
-- -- ---
First 2 3

(Hemmagjord ASCII för att visa tabellstruktur :) )
************
De övriga tabellerna innehåller samma sak som Master tabellen.tex
Tabell:Tuberecipe1 innehåller
ID X1 X2.....etc
--- -- ---
First 2 3
*************
OK grejjen är denna jag skulle vilja göra en jämförelse mellan Master tabellen och övriga tabeller , om innehållet skiljer sig under samma ID (tex "First") så vill ja ha ett gensvar som jag skall använda i Citect (Liknade Cpp program). Hoppas detta förtydligar lite

Medlem sedan dec. 19995 874 inlägg
#5

select id from tblmaster where id not in (select t1.id from t1.tblmaster inner join t2.tuberecipe1 on t1.id = t2.id and t1.x1 = t2.x1)

där borde du få alla som inte stämmer överens i kolumnen x1

Medlem sedan juli 200412 inlägg
#6

Tack Brimba...men inte riktigt det jag är ute efter.
Det går inte att jämföra en tabell med en annan tabell och om de inte är 100% genereras något värde som man kan nyttja i Högre skikt av programmering

Medlem sedan dec. 200012 464 inlägg
#7
select 1 from (values(1))
where exists (select * from tblmaster except select * from tuberecipe1)
   or exists (select * from tuberecipe1 except select * from tblmaster)

Du får förmodligen göra lite anpassningar beroende på dbms.

262 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
128 ms — ändringar (db)