31. januar 2004 - 15:53
Der er
20 kommentarer og 1 løsning
Opdater felt i tabel med felt fra anden tabel.
UPDATE t1 SET t1.kpris = (SELECT dkpris FROM t2 WHERE t1.varenr = t2.did); Jeg får fejl i dette lille script ??? Stig
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
31. januar 2004 - 16:04
#1
std sql92 burde hedde noget i stil med update t1 set kpris = t2.dkpris from t1 inner join t2 on t1.varenr = td.did
31. januar 2004 - 16:05
#2
I øvrigt - hvad fejl får du? Du vil f.eks. have et problem såfremt din subselect ovenfor returnerer mere end 1 række...
31. januar 2004 - 16:17
#3
Jeg får denne, med dit script. Det samme med mit. Fejl: SQL-forespørgsel : UPDATE t1 setkpris = t2.dkpris FROM t1 inner join t2 on t1.varenr = t2.did MySQL returnerede: You have an error in your SQL syntax near 'FROM t1 inner join t2 on t1.varenr = t2.did' at line 1
31. januar 2004 - 16:20
#4
MySQL understøtter ikke sådan en konstruktion. Prøv med noget a la: UPDATE t1,t2 SET t1.kpris=t2.dkpris WHERE t1.varenr=t2.did
31. januar 2004 - 16:26
#5
samme fejl !!
31. januar 2004 - 16:29
#6
Næppe præcis samme fejl. Kan du copy paste fejlen ind ?
31. januar 2004 - 16:39
#7
Fejl SQL-forespørgsel : UPDATE t1,t2 SET t1.kpris = t2.dkpris WHERE t1.varenr = t2.did MySQL returnerede: You have an error in your SQL syntax near 't2 SET t1.kpris=t2.dkpris WHERE t1.varenr=t2.did' at line 1
31. januar 2004 - 16:42
#8
Og det er t1.kpris og ikke t1.dkpris ?
31. januar 2004 - 16:45
#9
t1.kpris t2.dkpris
31. januar 2004 - 16:50
#10
Hvad version af MySQL kører du?
31. januar 2004 - 16:56
#11
I følge MySQL's dokumentation er det ikke muligt at udføre et SELECT-statement i forbindelse med UPDATE's, kun ved INSERT's.
31. januar 2004 - 16:56
#12
Godt spørgsmål. Mit forslag krævet 4.0.4 eller nyere ifølge docs.
31. januar 2004 - 16:58
#13
31. januar 2004 - 17:00
#14
Og som arne siger, kan du anvende konstruktionen UPDATE [tables] SET ... fra MySQL version 4.
31. januar 2004 - 17:08
#15
jeg køre 3.23.54 hos min udbyder. Det er jo noget p..
31. januar 2004 - 17:11
#16
Lav et loop i applikationen ! (PHP eller ASP formoder jeg)
31. januar 2004 - 17:12
#17
Jeg må finde på en anden måde at løse opdateringen på.
31. januar 2004 - 17:15
#18
en SELECT i t1, en loop i applikation og et antal UPDATE i t1. Ikke kønt eller specielt effektivt, men det bør løse opgaven.
31. januar 2004 - 17:16
#19
en SELECT i t2, en loop i applikation og et antal UPDATE i t1.
31. januar 2004 - 18:21
#20
Det hele skulle køre direct i databasen.
31. januar 2004 - 18:24
#21
Det kan det ikke med den version af MySQL.
Computerworld tilbyder specialiserede kurser i database-management