Just nu i M3-nätverket
Jump to content

ASP-SQL 2


Marco

Recommended Posts

Hej

 

Jag har pulldown menyer på min asp-sida som "fylls i" automatisk från en databas fil. So long so good, nu skulle jag vilja att det jag hämtar från "columnen" i vilket det kan förekomma samma 'value' flera ggr bara registreras en gång.

samt hur många ggr det förekommit. Föreställ er att ni klickat ner en pulldownmenu och det ser ut på följande sätt:

 

Bananer(8)

Apelsiner(2)

Meloner(12)

 

d.v.s att den tar med "bananer" bara en gång även om det i själva verket förekommit 8 ggr i hela filen där det kan förekomma även andra "value". Låt oss säga att nedanstående rader utgör kolumner under 2 rader:

col1 | col 2

rad 1 ---- bananer, apelsiner

rad 2 ---- bananer, äpplen

 

Som ni ser så kan bababer förekomma tillsammans med flera andra "values". Det som Lars skrivit som svar fungrar perfekt bara att den tar med hela kolumnen d.v.s "bananer, apelsiner (1)" och "bananer, äpplen (1)". hur gör jag för att slippa det här så att koden känner av att bananer har redan förekommit och listar det bara en gång + antal ggr det förekommit i hela databasen???

 

 

Är det någon som kan hjälpa mig med det här?

 

Tack på förhand

Link to comment
Share on other sites

Om jag fattat dig rätt så borde detta fungerar som du vill:

 

SELECT DISTINCT Fruktnamn FROM Frukter .....

 

Distinct rensar bort alla dupletter.

 

Tänk på att DISTINCT jämför ALLA kolumner och skiljer det i enda kolumn så är det olika och både kommer med. Välj därför bara ut den kolumnen du är intresserad av. Oftast blir det så i alla fall, men har man JOIN mot andra tabeller och lite annat lull-lull, så kan det bli fel (=inte som man vill, men i övrigt korrekt).

 

 

 

Är det så du menar?

 

 

[inlägget ändrat 2001-11-09 22:21:27 av M Andersson]

Link to comment
Share on other sites

Både ja och nej. Problemet är att jag vill lista varje värde bara en gång även om det skulle förekomma 80 ggr vid en genomgång av alla rader i det aktuella kolumnen men samtidigt räkna upp hur många gger det förekommer. Jag provade med Distinct men det hämtade hela kolumnet! Anta att en kolumn har följande värde: "Bananer, apelsiner" och kolumnen i nästa rad " bananer, äpplen". I dropdownlistan ser man följande

-bananer, apelsiner (1)

-bananer, äpplen (1)

 

Vad jag vill är att det ska stå i stil med

 

-bananer (2)

-apelsiner (1)

-äpplen (1)

 

Jag vet inte om det har med det att göra men jag använder Access filer!

 

Tack på förhand

 

Link to comment
Share on other sites

Ditt problem ligger i din databas struktur.

 

En rad får inte innehålla "Bananer, apelsiner".

För att din databas skall vara så korrekt som möjligt skall varje post innehålla så lite data som möjligt, alltså bara en sak...

 

Ex:

Om man skall spara ner namn till en databas, så sparar man inte ner både förnamn och efternamn till en kolumn, utan man delar upp det i två kolumner, en för förnamn och en för efternamn.

 

Om du måste ha det så som du har det, och samtidigt vill uppnå det du vill, så måste det till en hel del kod för att splita upp dina poster samt lagra dessa i arrayer och sedan utefter denna array skapa din dropdownlista.

 

om du där emot bygger din databas på rätt sätt så klara man det med en SQL fråga.

 

Så tillbaka till ritbordet och gör om databasen.

 

----------------------------------------

http://www.divxsubtitles.net

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.



×
×
  • Create New...