Gå til innhold

Sammenligne to tabeller i MSSQL database


Anbefalte innlegg

Jeg skal sammenligne to store tabeller i en mssql database. tabellene har ca 10 felter hver. og problemet mitt er at det er masse "HVIS" i oppgavebeskrivelsen.. dvs HVIS felt 1 i table 1 ikke finnes, så skal det sammenlignes med felt2 og felt3 i tabel2..osv..har mange HVIS..

 

Hvordan kan dette enkelt løses..?

 

Jeg vet at "HVIS" kan løses ved at sette opp CASE i sql, men kan det KUN løses vha. SQL, eller skal det noe programmering til også..?

 

 

takk på forhånd.

Lenke til kommentar
Videoannonse
Annonse

Hvis jeg skjønner deg riktig så skal du sjekke to tabeller som har identisk struktur mot hverandre.

 

Hva med å bare joine på alle elementene og se om det kommer noe ut i resultatet?

 

(Du hadde sikkert tenkt på det om løsningen var så enkel, men får kanskje en begrunnelse på hvorfor det ikke går og litt mer info)

Lenke til kommentar

tabellene har ikke identisk struktur.. men de har felles felter.

 

 

Jeg har to tabeller, med en felles primary key (4 sifret nummer)

 

eksempel: HVIS den 4 sifret nr ikke finnes i tabell1, skal det søkes og sammenlignes på felt2 og felt3 i tabell2.

 

det kan jo ikke løses bare ved å joine alle felter på tabell1 og 2...?

Lenke til kommentar

Jeg er ikke helt sikker på om jeg har forstått riktig, men jeg tror du vil joine PK i tab1 mot felt1 i tab2, hvis denne ikke finnes så vil du sjekke mot felt2, og hvis denne ikke finnes så skal det sjekkes mot felt3? Stemmer?

 

 

I såfall kan du gjøre slik:

select
from tabell1 t1
inner join tabell2 t1 on t1.keycol=t2.felt1 or t1.keycol=t2.felt2 or t1.keycol=t2.felt3

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...