Jag har en tabell, Table1 som innehåller kolumnerna user_id (räknare, long) och customgroup (text). user_id = 1 och customgroup = Ankeborg är en av raderna. Sen har jag ytterligare en tabell, Table2, som innehåller kolumnerna mailadress (text) och table1_id (long). mailadress = kalle.anka@ankeborg@jll.se och table1_id = 1.
Jag vill nu plocka ut alla mailadresser hos de gubbar som har customgroup = Ankeborg.
Följdfråga, hur uppdaterar jag mailadress fälten i Table2 överallt där customgroup = Ankeborg i Table1?
Med ledning av ditt senaste inlägg hade jag gjort som följer (jag använder SQL server, jag vet inte vad du använder eller om denna syntax fungerar i andra dbms):
UPDATE t2 SET t2.mailadress = '@ankeborg.se'
FROM Table2 t2
INNER JOIN Table1 t1
ON t1.user_id = t2.table1_id
Följdfråga 2, vad är det för skillnad på:
De två alternativen är likvärdiga och bör exekveras exakt lika.
Tack för det, men jag är inte riktigt med.
Du uppdaterar mailadress i Table2, men jag saknar att endast de som har customgroup = 'Ankeborg' i Table1 ska uppdateras.
Det här låter kanske märkligt, men jag vet faktiskt inte vad jag har för databas i botten, jag använder mig av SQL Talk för att ansluta till databasen och det verkar inte som om den gillar inner join. Det var därför som jag ställde frågan om det var någon skillnad på SQL satserna för jag får bara den utan inner join att lira.
När jag försöker uppdatera nu med:
Update Table2, Table1 SET Table1.mailadress = @ankeborg.se where Table2.mailadress = @pigg.se and Table1.user_id = Table2.table1_id and Table1.customgroup = 'Ankeborg'
Så fungerar det på min accessdatabas som jag testar med som har samma kolumner och tabell namn, men inte på min skarpa databas som jag alltså inte vet vad det är för databas.
Får följande felmeddelande:
Update Table2, Table1 SET ...
^
Error: 00134 SQL CNO ERROR.SQL NOT FOUND LOOKING UP ERROR 00923
Den pekar på komma tecknet (pilen hamnar galet när jag klistrar in den här) som om den bara klarar en tabell i taget.