Wpis z mikrobloga

via Wykop Mobilny (Android)
  • 0
#sql #oracle #informatyka
Mirki proszę o pomoc. Muszę przygotować raport w pracy, nie bardzo znam SQL, nie wiem jak coś wyszukać.

W tabeli jest klucz złożony z dwóch kolumn. W pierwszej dana wartość powinna wystąpić 5 razy, każdej z tej wartości powinna być przyporządkowana jedna z 5 wartości, w ten sposób tworząc unikalny klucz. Muszę znaleźć takie przypadki, gdzie brakuje którejś z tych 5 charakterystyk bądź gdzie któraś jest zduplikowana. Jak się do tego zabrać?
  • 5
@Woody_90: Create table #test (
id1 int,
id2 int
);
Insert into #test(id1,id2) values (1,1),(1,2),(1,3),(1,4),(1,5)
Insert into #test(id1,id2) values (2,1),(2,2),(2,3),(2,4),(2,5),(2,5)
Insert into #test(id1,id2) values (3,1)

select L.*,ile1,ile2,ile3,ile4,ile5
from ( select id1 from #test group by id1 ) L
left join ( select id1,count(*) ile1 from #test where id2=1 group by id1 ) I1 on I1.id1=L.id1
left join ( select id1,count(*) ile2 from #test where id2=2 group by id1