Avatar billede alexander_j Nybegynder
18. marts 2007 - 12:05 Der er 3 kommentarer og
1 løsning

SQL dobbeltudtræk i samme SQL-sætning

SELECT t_name, t_date, t_text
FROM mytable
WHERE t_date=='24-12-2007'
^^I sin grundform har jeg en SQL-sætning der lyder sådan her.

Mit problem er at jeg gerne vil lave et udtræk, hvor jeg får to udtræk på samme tid.
Data jeg vil have ud er:
t_name
t_text (AS text1) baseret på at datoen er '24-12-2007'
t_text (AS text2) baseret på at datoen er '23-07-2007'

Er det muligt?
Avatar billede terry Ekspert
18. marts 2007 - 12:08 #1
Use a UNION SELECT

SELECT ....
UNION SELECT ....
Avatar billede terry Ekspert
18. marts 2007 - 12:14 #2
If there are duplicate rows then they will not be returned, if you want to see them to use a UNION ALL

SELECT ....
UNION ALL
SELECT ....
Avatar billede alexander_j Nybegynder
18. marts 2007 - 12:30 #3
I tried UNION but it didnt work for me.

SELECT t_name, t_date, t_text AS text1
FROM mytable
WHERE t_date=='24-12-2007'
UNION
SELECT t_text AS text2
FROM mytable
WHERE t_date=='23-07-2007'

This SQL dont work because there aint the same colums in both 'selects' And I think if I make the same colums it will give me two rows instead of one.

What I want is one row looking like this:
t_name, text1, text2
Avatar billede alexander_j Nybegynder
18. marts 2007 - 12:56 #4
SELECT users.name, objectives1.t_date, objectives1.t_subject AS this_subject, objectives1.t_methods AS this_objectives, objectives1.t_sociale AS this_sociale, objectives2.t_subject AS prev_subject, objectives2.t_methods AS prev_objectives, objectives2.t_sociale AS prev_sociale
FROM users,  objectives AS objectives1, objectives AS objectives2
WHERE users.id = objectives1.user_id AND users.id = objectives2.user_id AND users.active=True AND objectives1.active=True AND objectives2.active=True
AND objectives1.t_date>=thisTermBeginDate() AND objectives1.t_date<=thisTermEndDate()  AND objectives2.t_date>=prevTermBeginDate() AND objectives2.t_date<=prevTermEndDate()
ORDER BY users.name, objectives1.t_date;

Det her virker :-D
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
Dyk ned i databasernes verden på et af vores praksisnære Access-kurser

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