Behöver hjälp med att få till en selectsats. :)
Utifrån dessa tabeller vill jag få ut Produkt 1 samt Produkt 2.
Hur menar jag då?
Jo:
Produkt 1 samt Produkt 3 ingår i samma grupp och då ska den produkt som har 'Front' =1 väljas.
Produkt 2 ingår ej i en grupp och då ska den också väljas.
Hur ser en sådan sats ut?
Product
------------------------------
Id Name
1 Produkten 1
2 Produkten 2
3 Produkten 3
Product_Group
------------------------------
ProductId GroupId Front
1 1 1
3 1 0
Group
------------------------------
Id Name
1 Grupp 1
dbms = sqlserver2000
Jesper TMedlem sedan nov. 20017 144 inlägg Något sådant hära:
SELECT p.name,g.name FROM Product as p
LEFT JOIN product_group as pg ON p.id=pg.ProductId
INNER JOIN group as g ON pg.groupid=g.id
nje, utan att ha testat så kan jag säga att den kommer att hämta Produkt 3 också, det ska den inte göra! :)
NöffMedlem sedan nov. 2003569 inlägg Nåt sånt här kanske?
SELECT Id,Name FROM Product INNER JOIN Product_Group ON Product.Id=Product_Group.ProductId WHERE Product_Group.Front=1
UNION ALL
SELECT Id,Name FROM Product WHERE Id=2
tohaMedlem sedan dec. 1999707 inlägg SELECT
Product.*
FROM
Product
INNER JOIN
Product_Group pg
ON
Product.Id=pg.ProductId
WHERE
pg.Front=1
UNION ALL
SELECT
Product.*
FROM
Product
LEFT OUTER JOIN
Product_Group pg
ON
pg.ProductId = Product.Id
WHERE
pg.ProductId is null
LarsGMedlem sedan dec. 200012 464 inlägg SELECT Id,Name
FROM Product
where id in ( select ProductId
from product_group
WHERE front = 1)
UNION all
SELECT Id,Name
FROM Product p
WHERE not exists (
select *
from productGroup
where productid = p.id)
Tackar grabbar! :bire
Både din toha och din LarsG verkar ge samma resultat vid en snabb titt på svaren jag får i analyzern så det är väl bara att välja vilken av dem man ska köra på. :)
LarsGMedlem sedan dec. 200012 464 inlägg Det beror på hur du vill att det skall fungera om en produkt ingår i flera grupper.
aha, på så vis.
svaret är nej, en produkt kan inte ingå i flera grupper.