BireMedlem sedan dec. 199919 074 inlägg Jag har ett litet delikat selectproblem för er att ta tag i nu ;)
Min databas ser ut så här:
En tabell med produktkategorier: Kat
En tabell med underkategorier: Delkod
En tabell med produkter: Prod
på sidan så får man först välja vilken kategori (Kat) man är intresserad av... Sedan skall man kunna välja mellan de underkategorier som finns för den huvudkategori man valt... nu kommer problemet ;)
Jag har i tabellen: Prod ett fält som heter: DelkodId och med hjälp av följande selectsats så har jag försökt att bara lista de underkategorier som finns till varje produkt som ingår i den utvalda huvudkategorin.. Men då visas samtliga underkategorier för varje produkt och så vill jag ju inte ha det ;)
Så här ser selectsatsen ut iaf:
SQLStmt = "SELECT Kat.Kategori, Kat.Katbild, Delkod.Delkod, Delkod.DelkodId, Prod.DelkodId, Kat.KatId FROM Kat, Prod, Delkod WHERE Kat.katId = Prod.KatId AND Prod.DelkodId = Delkod.DelkodId AND (Kat.KatId = " & Request("KatId") & ") Order by Delkod"
Med andra ord:
Först väljer man huvudkategori, sen kommer man till denna select som skall visa de underkategorier som finns att välja mellan...
Hjääälp :)
BrimbaMedlem sedan dec. 19995 875 inlägg Hallå Birp!
Här kommer ett exempel på hur du skall göra.
tabHKat (Tabell)
hKatID - räknare
hKatNamn - HuvudKategoriNamn
tabUKat (Tabell)
uKatID - räknare
uKatNamn - UnderKategoriNamn
hKatID - Kopplad till tabHKat.hKatID
tabProd (Tabell)
Pid - räknare
Prod - ProduktNamn
hKatID - Kopplad till tabHKat.hKatID
uKatID - Kopplad till tabUKat.uKatID
Därefter om du vill lista alla huvudkategorier:
SQLStmt = "SELECT tabHKat.hKatID, tabHKat.hKatNamn
FROM tabHKat"
Om du vill lista alla UnderKategorier under HuvudKategor nummer 1, kan du göra såhär:
SQLStmt = "SELECT tabUKat.uKatID, tabUKat.uKatNamn
FROM tabHKat INNER JOIN tabUKat ON tabHKat.hKatID = tabUKat.hKatID
WHERE (tabUKat.hKatID = 1)"
Om du vill lista alla produkter i HuvudKategori 3 och UnderKategori 2 gör du såhär:
SQLStmt = "SELECT tabProd.Pid, tabProd.Prod
FROM tabProd
WHERE (tabProd.uKatID = 2) AND (tabProd.hKatID = 3)"
Lycka till :)
------------------
Mvh
Patrik aka Brimba
Brimbas lille ställe
fredrikMedlem sedan dec. 19991 072 inlägg hmm...om jag nu förstått det hela rätt så vill du ha det i 2 steg:
1. Välj kategori - nu listas underkategorier
2. Välj underkategori - nu listas produkter
Vad har delkod för relation med kat?
Varför har prod en relation med kat?
Om du nu ska ha det i 2 steg (som ovan) så räcker det ju med att delkod är i relation med kat och att prod är i relation med delkod.
Typ:
Kat
kat_id | kat_namn
Delkod
delkod_id | delkod_namn | kat_id
Prod
prod_id | prod_namn | delkod_id
Detta gör ju att du endast behöver "vanliga" sql-strängar för att först hämta alla "delkodar" och efter klick på delkod hämta alla produkter.
...eller är jag helt ute och snurrar nu?
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
BrimbaMedlem sedan dec. 19995 875 inlägg Samma tid men jag var före :p
------------------
Mvh
Patrik aka Brimba
Brimbas lille ställe
fredrikMedlem sedan dec. 19991 072 inlägg japp, attans... :)
om du vill få ut produkter ur en viss kategori enligt min variant kan du skriva:
sql = "SELECT prod.prod_namn FROM kat INNER JOIN
delkod ON kat.kat_id = delkod.kat_id INNER JOIN
prod ON delkod.delkod_id. = prod.delkod_id
WHERE kat.kat_id = 1"
------------------
Fredrik Klarqvist
fredrik.klarqvist@swipnet.se
http://server.webwerkstaden.se/fredde/
BireMedlem sedan dec. 199919 074 inlägg Tack för alla tips grabbar, men tyvärr så hann min gode vän och tillika forumledarkollega: "Emission - The VBmaster" före :e
Jag har mao en strålande lösning på problemet och jag kan säga att det var väldigt snarlika som era förslag! :)
Tanx anyway!
BrimbaMedlem sedan dec. 19995 875 inlägg ehh.
Jag får göra en ändring här.
"Emission - The VBmaster"
"Emission - The master" tycker jag passar bättre :)
------------------
Mvh
Patrik aka Brimba
Brimbas lille ställe
BireMedlem sedan dec. 199919 074 inlägg Eller kort o gott: Mästaren! :)
aMedlem sedan maj 2000755 inlägg Mäster passar bra, han hjälper alltid till och kan i stort sett allt som är värt att veta.