Avatar billede mhv Praktikant
04. juli 2003 - 22:53 Der er 8 kommentarer og
2 løsninger

Sammen knytning af to tabeller

Hej,

Jeg har oprettet en tabel (TABEL_A) med navn,tlf adresse osv.
nu står jeg og skal opdater den, og vil så lave en tabel (TABEL_B), som indholder nogle tillægs informationer. Jeg ønsker ikke at tilføje disse data i TABEL_A!

Jeg regner så med at TABEL_B skal se sådanne ud:

ID
TABEL_A_ID
DATA_1
DATA_2
OSV..

jeg mangler så lige en forespørgelse som kan linke de to tabeller sammen, så jeg får alle de records i TABEL_A som ikke findes i TABEL_B.

Med andre ord, jeg ønsker en liste over alle de records i TABEL_A som ikke er opdateret i TABEL_B, håber det kan forståes ellers må I sige til.
Avatar billede ahv Nybegynder
04. juli 2003 - 22:58 #1
Ved ikke helt om det vil virke ->

SELECT tabel_a.*, tabel_b.* FROM tabel_a, tabel_b WHERE tabel_a.id != tabel_b.tabel_a_id
Avatar billede htm Nybegynder
04. juli 2003 - 22:58 #2
SELECT * FROM tabel_a LEFT JOIN tabel_b ON tabel_a.id=tabel_b.tabel_a_id
Avatar billede ahv Nybegynder
04. juli 2003 - 23:10 #3
SELECT * FROM tabel_a LEFT JOIN tabel_b ON tabel_a.id=tabel_b.tabel_a_id WHERE tabel_b.tabel_a_id is NULL;
Avatar billede mhv Praktikant
04. juli 2003 - 23:11 #4
ahv jo det virker næsten, har lige lavet en lille test, jeg får ikke de records med fra tabel_a som er i tabel_b, men til gengæld kommer de data fra tabel_b med ved alle records i tabel_a.

Tabel_a:
ID    - Navn
1    - a
2    - b
3    - c

Tabel_b:
ID    - TABEL_A_ID  - DATA
1    - 2          - test

resultat med din sql:
SELECT tabel_a.*, tabel_b.* FROM tabel_a, tabel_b WHERE tabel_a.id != tabel_b.tabel_a_id

ID    - Navn - ID  - TABEL_A_ID  - DATA
1    - a    - 1  - 2          - test
3    - c    - 1  - 2          - test
Avatar billede ahv Nybegynder
04. juli 2003 - 23:14 #5
Den sidste jeg postede burde virker, og er kun en lille udvidelse til htm's svar.
Avatar billede mhv Praktikant
04. juli 2003 - 23:22 #6
Tak for den hurtige hjælp :-)
Avatar billede htm Nybegynder
04. juli 2003 - 23:23 #7
ahv>> Ja jeg manglede lige noget i den sætning ;o)
Avatar billede htm Nybegynder
04. juli 2003 - 23:28 #8
Er ikke så sikker i joins endnu - men mener også at denn burde virke

SELECT * FROM tabel_a OUTER JOIN tabel_b ON tabel_a.id=tabel_b.tabel_a_id

Bare for at have noget at vælge i mellem ;o)
Avatar billede mhv Praktikant
05. juli 2003 - 00:16 #9
Har lige testet det med min kode:

SELECT * FROM Forhandler OUTER JOIN Test ON Forhandler.ID=Test.Forhandler_ID

og får syntax error:

You have an error in your SQL syntax near 'OUTER JOIN Test ON Forhandler.ID=Test.Forhandler_ID
Avatar billede htm Nybegynder
05. juli 2003 - 00:18 #10
Hmm - ok tak! Så virker det ikke helt på den måde jeg havde forestillet mig! Beklager! Men LEFT JOIN virker da ;o)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester