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
12 svar · 185 visningar · startad av OveRRidE
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. 
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
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.. 
LarsG:s exempel är i praktiken en inner join.
Jo det är sant, men just uttrycket. 
Kan du förklara lite mer hur tabellerna är relaterade och kanske ge ett litet exempel på hur dina värden ser ut.
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.. 
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.. 
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.
Det är mänskligt att fela. 
LarsG är inte mänsklig när det gäller SQL! 
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..