Avatar billede mercutio Nybegynder
19. september 2001 - 00:18 Der er 11 kommentarer og
2 løsninger

En besværlig sql sætning. Hjælp =)

Jeg har to tabeller. I den ene har jeg ansatte og i den anden har jeg en vagtplan. Jeg skal bruge en sql forespørgsel der først finder de ansatte som har en bestemt titel f.eks. sælger. Når de er hevet ud skal den så gå i vagtplans tabellen og finde de sælgere som har fri en bestemt dag. Kan det laves med en sql bemærkning, hvis ja så hvordan? Datoen og titlen kendes i forvejen fra en anden vagtplan. På forhånd tak for hjælpen.
Mercutio.
Avatar billede bootie Nybegynder
19. september 2001 - 00:26 #1
Det kan jeg da sagtens svare på...
Men hvad med lige at ligge lidt flere point ind på den???
Eller gider jeg ikke spilde min tid på at svare
Avatar billede mercutio Nybegynder
19. september 2001 - 00:28 #2
Hehe good old bootie boy.
Avatar billede bootie Nybegynder
19. september 2001 - 00:44 #3
SELECT sælgere FROM ansatte, vagtplan WHERE ansatte.type = \'sælger\' AND ansatte.navn = vagtplan.navn AND vagtplan.dag = \'fri\';
Så skulle den være i vinkel
Håber Bootie boy har bragt dig på rette spor...
Men jeg fortjener lige lidt flere points :)
Avatar billede bootie Nybegynder
19. september 2001 - 00:46 #4
Det ovenover var selvfølge mit endelige svar :)
Avatar billede bootie Nybegynder
19. september 2001 - 00:46 #5
Men det kunne du jo sikkert også se ud fra teksten
Avatar billede disky Nybegynder
19. september 2001 - 09:22 #6
bootie: den holdning er da syg.


mercutio:
Tag og giv bootie 1 point, med den holdning han har fortjener han ikke point

Det er i din where del af sql sætningen du skal lave magien.

normalt skriver man jo kun navnet i den tabel men henter fra, men skal du hente fra flere samtidig skriver du tabelnavn.kolonnenavn, har du samtidig flere databaser skriver du  databasenavn.tabelnavn.kolonnenavn, og ud fra det kan du lave nogle temmelig avancerede select statements.

f.eks.

select data1,data2,data3 from tabel1,tabel2,tabel3 where (tabel1.navn=tabel2.navn and tabel1.id=tabel3.id) or tabel2.id=tabel3.id and tabel3.beloeb < 400 and tabel3.belob >200

osv.
Avatar billede mercutio Nybegynder
19. september 2001 - 10:22 #7
Disky. Bootie er en af mine kammier han laver bare sjov.... Jeg kigger lige på det.
Avatar billede mercutio Nybegynder
19. september 2001 - 11:18 #8
Indtil nu er jeg nået frem til denne forespørgsel

ResultSet rsledige = dbhandler.doQuery(\"Select * from ansatte,vagtplan where ansatte.ansat_id=vagtplan.ansat_id and ansatte.jobbetegnelse=\'\"+brugerstilling+\"\' and vagtplan.dato<>\'\"+datoen+\"\'\");

Men den er ikke helt færdig. Jeg skal have gjort så jeg kun får en af hver ansat ud. Og jeg skal have gjort så hvis en ansat har en vagt den dag skal han slet ikke komme ud. I vagtplan er den samme ansat vist mange gange. En gang for hver gang han har en vagt men jeg skal kun bruge dem som ikke har en vagt på den gyldende dato. Ud over det skal jeg også bruge de arbejdere som slet ikke står i vagtplanen men som er ansat... Besværligt?
Avatar billede disky Nybegynder
19. september 2001 - 13:12 #9
det kræver nok 2 query

Men at den samme kun skal vises en gang kan du gøre ved hjælp af \'distinct\'

jeg mener syntaxen er

select distinct(navn) from xxxx where xxx=yyyy

kig i doc for mysql
Avatar billede mercutio Nybegynder
19. september 2001 - 17:33 #10
Det sql crap kan rende mig.... Nu har jeg bare lavet en masse spagetti kode og to forespørgsler der gør det samme som man med garanti kan lave i en sql sætning men bare ærgerligt....
Avatar billede disky Nybegynder
19. september 2001 - 17:44 #11
hvis du vil kan du prøve at sende mig koden, så kan jeg kigge lidt på det. Bare for sjov skyld
Avatar billede mercutio Nybegynder
19. september 2001 - 17:48 #12
Hmmm den side er jeg godt nok ikke stolt af hehe. Men skriv din mail så sender jeg lige koden.
Avatar billede disky Nybegynder
20. september 2001 - 08:17 #13
disky@hotmail.com
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