Wyświetlić nazwy produktów, które należą do podkategorii 1 lub 2.
Moje
SELECT ProductSubcategoryID, Name
FROM Production.Product
WHERE (ProductSubcategoryID IN (1,2))
wyświetla wszystkie z 1,2, nie wiem jak porównać :/
Wyświetlić nazwy produktów, które należą do podkategorii 1 lub 2.
Moje
SELECT ProductSubcategoryID, Name
FROM Production.Product
WHERE (ProductSubcategoryID IN (1,2))
wyświetla wszystkie z 1,2, nie wiem jak porównać :/
Przepraszam, ale w czym tkwi problem?
Wyświetlić nazwy produktów
Nazwy, zatem kolumna ProductSubcategoryID na liście kolumn jest imho zbędna.
nie wiem jak porównać :/
Ale co z czym chcesz porównywać?
PS. Te nawiasy przy WHERE są zbędne.
Adrian Stachurski napisał(a):
Wyświetlić nazwy produktów, które należą do podkategorii 1 lub 2.
wyświetla wszystkie z 1,2,
przecież właśnie to chcesz osiągnąć kompletnie nie rozumiem o co Ci chodzi? Nie wiesz jak porównać? To może dodaj do SELECTA jeszcze po prostu wyświetlanie podkategorii O_O...
Panowie chodzi o to:
jeżeli kategoria 1 i kategoria 2 posiadają taką samą nazwę równocześnie to ma być wyświetlona.
w tej chwili co jet napisane wyświetlają się wszystkie produkty z id 1 i id 2
SELECT DISTINCT Name
FROM Production.Product
WHERE ProductSubcategoryID IN (1,2)
GROUP BY Name
HAVING count(Name)>1
Aczkolwiek zapytanie zakłada, że nie ma takich samych nazw w tej samej kategorii, jeśli miałbyś 2 takie same nazwy w 1. a 0 w 2., to nie spełni twoich oczekiwań i musiałbyś grupować jeszcze po ID.
;WITH CTE1
AS ( SELECT ProductSubcategoryID ,
Name
FROM Production.Product
WHERE ProductSubcategoryID = 1 ) ,
CTE2
AS ( SELECT ProductSubcategoryID ,
Name
FROM Production.Product
WHERE ProductSubcategoryID = 2 )
SELECT *
FROM CTE1
INNER JOIN CTE2 ON CTE1.Name = CTE2.NAME;