webForumDet fria alternativet

Unions som subfråga flera gånger

Databaser & SQL

1 svar · 372 visningar · startad av lilja

Medlem sedan juli 20041 183 inlägg
Frågan#1

Jag har inte riktigt kommit igång med SQL-tänket men tycker att följande borde fungera...

Jag Gör Union på 3 kolumner som innehåller datum. Dessa datum skall sedan göras om på olika sätt och skickas in en ny tabell. Hur skriver man detta med en enda SQL-sats.

Jag kan göra detta om jag först sparar datumen i den nya tabellen och sedan kör en update för att uppdatera resterande fält efter vad som står i datum-kolumnen. Men detta är två steg, detta vill jag inte :)

Det bör bli något liknande:

INSERT INTO tblTabell (Date, Year, Quater, WeekDay)
SELECT DISTINCT datum1 FROM tblTabell1
UNION
SELECT datum2 FROM tblTabell2

Det är MS SQL som gäller för detta...

Detta fyller dock bara första kolumnen och jag vill slippa skriva om UNION delen 3 gånger. Går detta att fixa? Fråga inte varför, jag måste bygga mina tabeller på detta sättet. :)

Medlem sedan mars 20034 471 inlägg
#2

Lilja skrev:

INSERT INTO tblTabell (Date, Year, Quater, WeekDay)
(SELECT DISTINCT datum1 FROM tblTabell1
UNION
SELECT datum2 FROM tblTabell2)

I SELECT delen tar du ut 1 kolumn - datum. Oavsett om du tar det från en eller flera tabeller har du fortfarande bara en kolumn.
Sedan försöker du stoppa in det i 4 kolumner. Klart inte det går!

283 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
153 ms — deklarationer (db)
0 ms — hämta statistik (cache)
127 ms — hämta tråd, inlägg och bilagor (db)
148 ms — ändringar (db)