Avatar billede herchin Nybegynder
09. oktober 2008 - 13:08 Der er 5 kommentarer og
1 løsning

Hjælp til update query på to tabeller

Hej,
jeg ka' ik få et update til at virke...

Har to tabeller, hvor jeg skal opdatere answer table1. Jeg kender table2.question og skal finde den nyeste række i table1, for at opdatere answer.

Jeg har prøvet nedenstående update query, men det virker ikke. Pis!

table1
--------
no
time
answer

table2
--------
no
question

UPDATE table1
SET answer = '1234'
FROM table1, table2
WHERE     table2.no = table1.no AND
    table2.question = 'Test' AND
    table1.time = (SELECT MAX(table1.time) FROM table1)

Any help?
Avatar billede jensgram Nybegynder
09. oktober 2008 - 13:24 #1
Det her bliver et rent gæt:

UPDATE table1, table2
SET table1.answer = '1234'
WHERE    table2.no = table1.no AND
    table2.question = 'Test' AND
    table1.time = (SELECT MAX(table1.time) FROM table1)
Avatar billede herchin Nybegynder
09. oktober 2008 - 13:36 #2
Det giver en "Incorrect syntax near ," fejl
Avatar billede herchin Nybegynder
09. oktober 2008 - 13:38 #3
Problemet er, at jeg gerne vil have max time på alle rows, der matcher:

table2.no = table1.no AND
table2.question = 'Test'

I ovenstående matcher jeg både

table2.no = table1.no AND
table2.question = 'Test'

og max time på alle rækker...
Avatar billede jensgram Nybegynder
09. oktober 2008 - 13:41 #4
Ja, jeg tænkte nok, at syntaksen var noget rod :)

Det skulle dog lige prøves.
Avatar billede herchin Nybegynder
09. oktober 2008 - 14:06 #5
Got it...
Avatar billede zteff Nybegynder
15. oktober 2008 - 11:23 #6
Ved ikke helt om du fik den knækket?
Er ikke nogen SQL-haj, men kan man ikke lave noget i retning af:

UPDATE table1
SET answer = '1234'
WHERE no IN (SELECT table1.no FROM table1, table2
WHERE    table2.no = table1.no AND
    table2.question = 'Test' AND
    table1.time = (SELECT MAX(table1.time) FROM table1))
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