2017-01-19 1 views
0

Ich habe diese Anfrage:SQL Count Linien und Inner Join

select s.LastState 
     ,count(s.LastState) as sumS 
from table1 t1 
    join table2 t2 
     on t1.ID = t2.ID 
    join (select LastState 
       ,count(LastState) as sum 
      from table1 
      where ID = X 
      and LastState = 1 
      or LastState = 2 
      group by LastState 
     ) s 
     on s.LastState = t1.LastState 
group by s.LastState 

Dies gibt die Anzahl der Staat und ich möchte die Summe meiner beiden Zählungen haben.

Derzeit sehe ich meine erste Linie mit der

10 Zustand 1 und 5 Zustand 2 für meine ID X

lassen zugeben und ich möchte 15 (Summe der Zählungen für beide Zustände) sehen.

+6

Bitte zeigen Sie die Beispieldaten und das gewünschte Ergebnis an. Beschreibe es nicht. – Siyual

+0

Um die Gesamtsumme zu erhalten, entfernen Sie einfach die Klausel 'group by'. –

+0

Beispieldaten: -line 1: 10 -line 2: 5. Was ich will: -line 1: 15 –

Antwort

0
select --s.LastState 
     LastState='LastState1and2' 
     , count(s.LastState) as sumS 
from table1 t1 
    join table2 t2 
     on t1.ID = t2.ID 
    join (select LastState 
       ,count(LastState) as sum 
      from table1 
      where ID = X 
      and LastState = 1 
      or LastState = 2 
      group by LastState 
     ) s 
     on s.LastState = t1.LastState 
--group by s.LastState 
+0

Hallo, vielen Dank, wirklich, du bist ein Genie :) Aber ich habe immer noch ein Problem, hier ist mein neuer Beitrag, wenn du einen Blick darauf werfen willst ... https://stackoverflow.com/questions/41746714/retrieve-multiple-sum-columns-of-sub-queries –