Avatar billede blazer Nybegynder
16. august 2001 - 21:24 Der er 20 kommentarer og
1 løsning

Kompliceret sql

Lad os sige jeg har en Ansatte database...

jeg vil så liste alle ansatte...men jeg vil sortere dem efter hvad der matcher bedst...

f.eks. jeg har

Fornavn  Efternavn Stilling Løn
Jesper    Kylling  Liggende 20
Gert      Fransen  Stående  40
Kurt      Hansen    Siddende 60

så søger mand efter Fornavn=Jesper, Efternavn=Hansen Stilling=Stående, Løn=60

Så skal den først vise den der har flest matches..altså Kurt der nåde opfylder Efternavn og løn....

Med andre ord der skal order by Most matches men oxo liste dem der ikke opfyldeer nogen..de kommer bare til sidst...

Hvis der er en der kan vide mig princippet får du 500 points!

*Flyttet fra http://www.eksperten.dk/spm/99244?id=99244*
Avatar billede food4u.dk Nybegynder
16. august 2001 - 21:30 #1
lytter med
Avatar billede blazer Nybegynder
16. august 2001 - 21:32 #2
food4u>>>Svin
Avatar billede blazer Nybegynder
16. august 2001 - 21:38 #3
jeg tænkte lige:\" weee...der er kommet et svar...så sidder du bare og lytter med...\"

ps. var bare \"for sjov\" den kommentar
Avatar billede bbs Nybegynder
16. august 2001 - 21:39 #4
Det er en forkert kategori ..
Det skal være under sql-database, eller databaser generelt ..
Avatar billede food4u.dk Nybegynder
16. august 2001 - 21:41 #5
*lol*
Avatar billede blazer Nybegynder
16. august 2001 - 21:42 #6
er sq svært at bestemme en kategori til det...
altså... sqlen i access og ms sql ville jo være ens...og i mysql/oracle ville jeg nok også kunne bruge princippet...men på den anden side så er der nok også nogle i visual basic kategorien der kan besvare den.... eller asp for den sags skyld...

og da asp er den mest brugte af de kategorier lagde ejg den sq her i...blandt andet fordi ejg ved at ericjacobsen kigger forbi her af og til....og hvis der er nogen der er manden er det ham!
Avatar billede eflow Nybegynder
16. august 2001 - 21:43 #7
hvis SQL strengen er i et ASP dokument så er det jo ok den er her...
Avatar billede blazer Nybegynder
16. august 2001 - 21:45 #8
eflow>>>Det er den faktisk ikke...
Avatar billede jiggypoof Nybegynder
16. august 2001 - 21:45 #9
food4u.dk> du kan bare trykke på udfør, uden at skrive noget så får du også mails når der kommer kommentare
Avatar billede blazer Nybegynder
16. august 2001 - 21:47 #10
hvad så..jer der følger med anyways..tror i det er umuligt?
Avatar billede eflow Nybegynder
16. august 2001 - 21:49 #11
jeg ved ikke om det er mugligt...men hvis det er så skal jeg sq nok lige bruge det ;-)
Avatar billede food4u.dk Nybegynder
16. august 2001 - 21:57 #12
jiggyprog > sejt, det vidste jeg ikke :o)
Avatar billede blazer Nybegynder
16. august 2001 - 22:04 #13
måske skal jeg til at bruge ms sql server og stored procedures...ku jeg ihvertfald forestille mig...men fuck da det..så må jeg jo lære det og få chefen til at hoste op med en sql server :)
Avatar billede eflow Nybegynder
16. august 2001 - 22:05 #14
hehe...jah
16. august 2001 - 22:42 #15
Hmm, hvad hvis løsningen er lavet i VB/VBA?
Umiddelbart tror jeg ikke, at du kan lave det i ren SQL. Jeg tror at du er nødt til at kode det. Om det bliver i VB/VBA, Transact SQL, PL SQL eller hvad ved jeg, det er sådan set underordnet.

Hvis jeg skal lave det, skal det bare være i VB/VBA (Helst Access).
Jeg lover ikke noget, men gider ikke forsøge, hvis det ikke er noget, du kan bruge til noget.

/Thomas
Avatar billede blazer Nybegynder
16. august 2001 - 22:48 #16
well..kan også sagtens lave det i vb....men jeg vil helst gøre så meget som muligt i sql!
16. august 2001 - 22:56 #17
Ok, nu har jeg den...øjeblik..
16. august 2001 - 23:07 #18
Først laver du én forespørgsel, som ser ca. således ud:

SELECT Ansatte.Fornavn, IIf([Fornavn]=\"Jesper\",True,False) AS CountFornavn, Ansatte.Efternavn, IIf([Efternavn]=\"Hansen\",True,False) AS CountEfternavn, Ansatte.Stilling, IIf([Stilling]=\"Stående\",True,False) AS CountStilling, Ansatte.Løn, IIf([Løn]=60,True,False) AS CountLøn
FROM Ansatte;

Denne gemmer du f.eks. under navnet \"KompliceretSQL\"

Herefter laver du en ny forespørgsel:

SELECT KompliceretSQL.Fornavn, KompliceretSQL.Efternavn, KompliceretSQL.Stilling, KompliceretSQL.Løn, [CountFornavn]+[CountEfternavn]+[CountStilling]+[CountLøn] AS Sortering
FROM KompliceretSQL
ORDER BY [CountFornavn]+[CountEfternavn]+[CountStilling]+[CountLøn];

Denne sidste forespørgsel giver tabellen i prioriteret rækkefølge.

/Thomas
16. august 2001 - 23:11 #19
PS: Jeg kunne nu bedre lide da spørgsmålet lå i Access-kategorien, da point i ASP-kategorien ikke har den store interesse. Men det er et meget interessant problem, derfor syntes jeg, at det var værd at kigge på ;o)
Avatar billede blazer Nybegynder
16. august 2001 - 23:13 #20
thomas>>>Tusind tak...har ikke mulighed for at teste det lige nu...men ejg tror på dig...hvis du vil ha pointsne iaccess så får du dat..plus et tusind tak :)
Avatar billede blazer Nybegynder
16. august 2001 - 23:14 #21
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