Avatar billede dingkee Nybegynder
04. juni 2001 - 12:31 Der er 23 kommentarer og
2 løsninger

Kun tage den første

Jeg henter en hel liste ud af databasen.

Det er nogle ordre, hvor man se hvad der er blevet bestilt.

Der kan godt være flere vare i det samme ordre nummer, hvordan får man så den til at kun vise den første vare for hvert ordrenummer??
Avatar billede well_r Nybegynder
04. juni 2001 - 12:34 #1
LIMIT 0,1 i din SQL streng
Avatar billede dna Nybegynder
04. juni 2001 - 12:35 #2
sql = \"select * from DIN_TABEL_med_varer where ID = dit_order_nummer\"

??
Avatar billede dingkee Nybegynder
04. juni 2001 - 12:37 #3
Hvordan vil du ligge den ind her??
set liste = Conn.Execute(\"SELECT * FROM Ordlin WHERE KundeID=\'\"& session(\"login\")& \"\';\")
Avatar billede perla Nybegynder
04. juni 2001 - 12:39 #4
set liste = Conn.Execute(\"SELECT TOP 1 * FROM Ordlin WHERE KundeID=\'\"& session(\"login\")& \"\';\")

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 12:41 #5
Så skriver den kun 1.

Der er jo en hel liste f.eks.

1  vare1
1  vare2
1  vare3
2  vare1
2  vare2

osv
så skal jeg have den til at skrive
1 vare1
2 vare1
osv
Avatar billede mads_jac Nybegynder
04. juni 2001 - 12:52 #6
set liste = Conn.Execute(\"SELECT * FROM Ordlin WHERE KundeID=\'\"& session(\"login\")& \"\' GROUP BY ID;\")

Denne burde give dig:

1 vare1
2 vare1

- såfremt tallet til venstre er ID.

Mads
Avatar billede perla Nybegynder
04. juni 2001 - 12:53 #7
Ah, hvad hedder felterne i din database og har du et unikt felt i tabellen. Har du ikke det bliver det rigtigt svært.

-Per
Avatar billede nuno Nybegynder
04. juni 2001 - 12:57 #8
set liste = Conn.Execute(\"SELECT DISTINCT VareID, varenavn FROM Ordlin WHERE KundeID=\'\"& session(\"login\")& \"\';\")

hvor VareID er den kolonnes navn med vareid

/nuno
Avatar billede dingkee Nybegynder
04. juni 2001 - 13:00 #9
Feltet i databasen hedder ordnr

Hvad mener du med unikt, hvis du mener autonummering, så ja det er OrdLinieID
Avatar billede nuno Nybegynder
04. juni 2001 - 13:30 #10
set liste = Conn.Execute(\"SELECT DISTINCT varenavn, OrdLinieID FROM Ordlin WHERE KundeID=\'\"& session(\"login\")& \"\';\")

Avatar billede perla Nybegynder
04. juni 2001 - 13:41 #11
nuno > Du kan ikke gøre noget i en select, du skal have en subselect på. Med OrdLinie i selecten vil alle jo komme med da den er unik.

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 13:42 #12
Perla >> Har du nogen ide om hvordan det kan klares??
Avatar billede nuno Nybegynder
04. juni 2001 - 13:56 #13
perla> du har ret...

men alt efter hvordan han bygger sin tabel op - så skal det laves på en helt anden måde så.

Avatar billede perla Nybegynder
04. juni 2001 - 13:57 #14
Løste den lige

Select * from ordrer where ordreLinieID in (SELECT Min(Ordrer.OrdreLinieID) AS MinOfOrdreLinieID
FROM Ordrer
GROUP BY Ordrer.Ordrenr);

Du skal så selv lige sætte det med Kunde id på så skulle det virke(Er testet hos mig)

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 14:24 #15
Det fattede jeg minus af af.
Kunne ikke rigtig finde ud af at sætte det ind, forstor ikke det med min(odrer osv.

Min tabel hedder: Ordlin
Her kommer kolonnerne:
OrdLinieID (autonum)
Ordnr (det det skal sorteres efter)
Varenavn (det der skal vises)
Avatar billede perla Nybegynder
04. juni 2001 - 14:29 #16
OK , Her er så den tilpassede løsning

SELECT * FROM ordrer WHERE ordLinieID in
  (SELECT Min(Ordrer.OrdLinieID) AS MinOfOrdreLinieID FROM Ordrer GROUP BY Ordrer.Ordnr);

-Per
Avatar billede perla Nybegynder
04. juni 2001 - 14:31 #17
Ups ordrer skal byttes med ordlin
Avatar billede dingkee Nybegynder
04. juni 2001 - 14:32 #18
hvor skal jeg så ligge det med kundeid ind henne??
Avatar billede perla Nybegynder
04. juni 2001 - 14:38 #19

SELECT * FROM ordlin WHERE KundeID=\'\"& session(\"login\")& \"\' and ordLinieID in
  (SELECT Min(Ordlin.OrdLinieID) AS MinOfOrdreLinieID FROM Ordlin GROUP BY Ordlin.Ordnr);

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 14:46 #20
Så får jeg denne fejl:

Microsoft VBScript compilation (0x800A0409)
Unterminated string constant
/cgb/default.asp, line 228, column 191
set liste = Conn.Execute(\"SELECT * FROM ordlin WHERE KundeID=\'\"& session(\"login\")& \"\' and ordLinieID in (SELECT Min(Ordlin.OrdLinieID) AS MinOfOrdreLinieID FROM Ordlin GROUP BY Ordlin.Ordnr);
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------^
Avatar billede perla Nybegynder
04. juni 2001 - 14:50 #21
Du skal selvfølgelig sætte \" \" rundt om !

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 14:53 #22
hvor mener du??

Kokser virkelig med programmering i dag :(
Avatar billede perla Nybegynder
04. juni 2001 - 15:00 #23
Prøv dette

strSQL1 = \"SELECT * FROM ordlin WHERE KundeID=\'\"& session(\"login\")& \"\' and ordLinieID in
strSQL2 = \" (SELECT Min(Ordlin.OrdLinieID) AS MinOfOrdreLinieID FROM Ordlin GROUP BY Ordlin.Ordnr);\"
strSQL = strSQL1 & strSQL2
set liste = Conn.Execute(strSQL)

-Per
Avatar billede perla Nybegynder
04. juni 2001 - 15:01 #24
Ups fejl prøver igen


strSQL1 = \"SELECT * FROM ordlin WHERE KundeID=\'\"& session(\"login\")& \"\' and ordLinieID in\"
strSQL2 = \" (SELECT Min(Ordlin.OrdLinieID) AS MinOfOrdreLinieID FROM Ordlin GROUP BY Ordlin.Ordnr);\"
strSQL = strSQL1 & strSQL2
set liste = Conn.Execute(strSQL)

-Per
Avatar billede dingkee Nybegynder
04. juni 2001 - 15:02 #25
Takker mange gange :)
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