kategorisera tre tabeller

Databaser & SQL

12 svar · 204 visningar · startad av OveRRidE

Medlem sedan feb. 200112 078 inlägg
Trådstart#1

Here we go again:

KAT2
---------
k2KatId1
k2KatId2
k2Kategori

PRODUKTER
---------
prdNamn
prdKatid1
prdKatid2

PROBLEM
Jag vill skapa en lista på alla produkter där produkter.prdKatId1 = 1, samtidigt vill jag ha ut kat2.k2Kategori och kat2.k2KatId2 så att jag kan skriva på varje rad vilken underkategori de tillhör. Dessa skall grupperas efter vilken underkategori (kat2) de tillhör.

red) Kan ju nämna att jag använder en Access databas. ;)

Medlem sedan dec. 200012 464 inlägg
#2

Så här kanske?

select k.k2kategori,k.k2katid2,p.*
from kat2 k, produkter p
where p.prdKatid1 = 1
 and p.prdKatid2 = k.k2katid2
group by k.k2katid2
Medlem sedan feb. 200112 078 inlägg
#3

Hrmm jag funderade på om man inte var tvungen att köra en INNER JOIN för att få det att funka.. ?

Men det var man tydligen inte.. ;)

Medlem sedan juni 20008 205 inlägg
#4

LarsG:s exempel är i praktiken en inner join.

Medlem sedan feb. 200112 078 inlägg
#5

Jo det är sant, men just uttrycket. ;)

Medlem sedan feb. 200112 078 inlägg
#6

Mja.. efter att ha testat så funkar det inte så bra..

får en massa dubbla av allt

Medlem sedan dec. 200012 464 inlägg
#7

Kan du förklara lite mer hur tabellerna är relaterade och kanske ge ett litet exempel på hur dina värden ser ut.

Medlem sedan feb. 200112 078 inlägg
#8

http://www.jsc.nu/override/wf/db_spi.jpg

Kolla här så ser du hela strukturen.

När jag körde din sträng först så sa den att den inte kunde gruppera eftersom du angivit p.* på ett ställe. Sen vete fasen, men jag fick den iaf inte att funka.. :l

Det blev iallafall en lista med dubletter, och inte bara det, den valde även de där prdKat1 inte var 1. Plus att de knöts till fel kategorier om man
skrev ut det på samma rad.. :(

Medlem sedan dec. 200012 464 inlägg
#9
select k.k2kategori,k.k2katid2,p.*
from kat2 k, produkter p
where p.prdKatid1 = 1
and p.prdKatid2 = k.k2katid2
and p.prdKatid1 = k.k2katid1
order by k.k2katid2

Förstår inte varifrån jag fick att det skulle vara en group by.

Medlem sedan feb. 200112 078 inlägg
#10

Det är mänskligt att fela. ;)

Medlem sedan juni 20019 024 inlägg
#11

LarsG är inte mänsklig när det gäller SQL! §e

Medlem sedan feb. 200112 078 inlägg
#12

:e

Medlem sedan feb. 200112 078 inlägg
#13

Offtopic:

Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.2914)

Hrmm, syns det när man har .NET CLR:en installerad?

Trodde bara det var till IIS-servern..

407 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
268 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
129 ms — ändringar (db)