Avatar billede mickey777 Nybegynder
06. januar 2008 - 11:26 Der er 2 kommentarer og
1 løsning

Insert kun hvis en tabelværdi ikke eksiterer?

Jeg har følgende tre tabeller:

Tbl_1:
PID, Navn 
1,AAA
2,BBB
3,CCC

Tbl_2: Relation
PID,QID
1,1
2,2

Tbl_3:
QID,Tal
1,345
2,456
3,Dummy

Fra et tidligere spørgsmål fik jeg hjælp til at udtrække de tbl_1 værdier der ikke optræder i tbl_2 ved:

SELECT pid FROM tbl_1 WHERE pid NOT IN (SELECT pid FROM tbl_2)

Det, jeg nu har brug for, er at opdatere tbl_2 med de værdier fra tbl_1 der ikke optræder i tbl_2 med QID = 3 fra tbl_3.
Altså,

hvis tbl_1.pid ikke eksiterer i tbl_2
insert into tbl_2 values (tbl_1.pid, 3)

Er der nogle der kan hjælpe med sql sætningerne?

På forhånd tak!
Avatar billede arne_v Ekspert
06. januar 2008 - 16:35 #1
prøv:

INSERT INTO tbl_2 SELECT tbl_1.pid,3 FROM tbl_1 WHERE tbl_1.pid NOT IN (SELECT tbl_2.pid FROM tbl_2)
Avatar billede mickey777 Nybegynder
06. januar 2008 - 18:03 #2
Du er i sandheden en virkelig hjælpsom og dygtig ekspert! Jeg undrer mig ikke over hvorfor du indtager den fantastisk topplaceringe du besidder på eksperten.dk.

Jeg takker dig endnu engang.

Læg venligst et svar.
Avatar billede arne_v Ekspert
06. januar 2008 - 18:26 #3
kommer her
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