테이블이 두 개인 경우 장난감이 하나 뿐인 장난감의 경우 additionalcolors
을 보여줄 필요가 있습니다. 예 (FW18, FK97, FK38, LX74). Toytypes
에서 Toyadditionalcolor
까지의 왼쪽 외부 조인을 사용했으며 하위 쿼리를 수행하여 toyname 만 가진 toypattern을 찾았습니다. 그러나 나는 여전히 아래의 결과 쿼리와 같은 결과를 얻을 수 없습니다.왼쪽 쿼리에서 SQL 쿼리 문제가 발생했습니다.
아래의 query1 표와 비슷한 결과를 얻으려면 수정해야 할 부분을 알려주십시오.
ToyTypes
ToyPattern ToyName mainColor
---------- --------------- ---------
F692 Dino pink
F692 Elephant pink
FK38 Elephant pink
FK97 Giraffe purple
FW18 Sonic pink
LX73 Kangaroo pink
LX73 Cow blush
LX73 Dog pink
LX74 Cat plum
ToyAdditionalColor
ToyPattern ToyName firstColor additionalColor
---------- ---------- ----------- ----------------
FK38 Elephant pink orange
FK38 Elephant pink yellow
LX74 cat plum dark pink
LX74 cat plum pale pink
원하는 출력 : 여기 아래
ToyPattern ToyName color 1 color 2 color 3 color 4 color 5
----------- ---------- ------------ ------------ ------------ ------------ ------------
FK38 Elephant pink orange yellow NULL NULL
FK97 Giraffe purple NULL NULL NULL NULL
FW18 Sonic pink NULL NULL NULL NULL
LX74 cat plum dark pink pale pink NULL NULL
내 SQL 코드입니다. ToyPattern, ToyName, 색상, SORTORDER :
select distinct
toytypes.toypattern,
toyname,
toytypes.flowerBreed,
toytypes.firstColor as 'color 1'
from
Toytypes
left join
ToyAdditionalColor on ToyAdditionalColor.toypattern = Toytypes.toypattern
where
toytypes.toypattern in
(select Toypattern
from Toytypes
group by toypattern
having count(toypattern) < 2)
안녕 YS, 지금 우리는 정상화를 수행하는 가정하지 않을 수있는 문제를 : 나는 순간에 나와 함께 Management Studio를 가지고하지 않은,하지만 나는 그것이 같을 수 있습니다 생각 - 당신은
PIVOT
사용할 수 있습니다. 예, 테이블은 정규화되지 않았습니다. 우리는 위의 테이블을 사용하여 쿼리를 수행하고 desir과 동일한 결과를 얻습니다. 에드 출력. – setiasetia하지만이 질문에 대한 표를 정규화하지 않았기 때문에 ... – setiasetia
힌트를 보내 주셔서 감사합니다. 나는 이미 개념을 얻은 것 같아. 고마워! – setiasetia