Proste zapytanie

0

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ć :/

0

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.

0
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...

0

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

1
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.

0
;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;

1 użytkowników online, w tym zalogowanych: 0, gości: 1