Avatar billede sanne Nybegynder
18. januar 2003 - 22:09 Der er 4 kommentarer og
1 løsning

SQL

Jeg har følgende problematik:

3 tabeller: projekt, projekttimer, projekt_sag

nu skal jeg bruge projekt.id på alle de projekter hvor en given rådgiver har indberettet timer på indenfor et givent interval eller hvor der er sager tilknyttet

noget i retning af:

SELECT projekt.id FROM projekt,projekttimer
WHERE projekt.id = projekt_id AND raad_id = raadgiver AND dato BETWEEN #dato1# AND #dato2#

SELECT id FROM projekt,projekt_sag WHERE id = projekt_id

Men hvordan får jeg de to SQL'er til at hænge sammen i én??
Avatar billede arne_v Ekspert
18. januar 2003 - 22:16 #1
Prøv med:

SELECT id FROM projekt,projekttimer,projekt_sag WHERE
projekt.id = projekttimer.projekt_id AND projekt.id = projekt_sag.projekt_id AND
raad_id = raadgiver AND dato BETWEEN #dato1# AND #dato2#
Avatar billede sanne Nybegynder
18. januar 2003 - 22:22 #2
Det ser umiddelbart ud til at begge betingelser så skal være opfyldt. Jeg vil gerne have projektid ud hvis bare den ene af betingelserne er opfyldt
Avatar billede arne_v Ekspert
18. januar 2003 - 22:27 #3
Undskyld så har jeg læst forkert.

Vi prøver igen:

SELECT projekt.id FROM projekt,projekttimer
WHERE projekt.id = projekt_id AND ((raad_id = raadgiver AND
dato BETWEEN #dato1# AND #dato2#) OR EXISTS
(SELECT id FROM projekt,projekt_sag WHERE id = projekt_id))
Avatar billede arne_v Ekspert
18. januar 2003 - 22:29 #4
Hvad f.... tænker jeg på ?

(SELECT projekt.id FROM projekt,projekttimer
WHERE projekt.id = projekt_id AND raad_id = raadgiver AND dato BETWEEN #dato1# AND #dato2#)
UNION
(SELECT id FROM projekt,projekt_sag WHERE id = projekt_id)

må da være den indlysende !
Avatar billede arne_v Ekspert
29. januar 2003 - 22:50 #5
Har du prøvet ?
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
Kurser inden for grundlæggende programmering

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