Announcement

Collapse
No announcement yet.

Select Problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Select Problem

    Hallo allerseits,
    Ich habe ein kleines Problem, ich übersehe den Fehler wohl einfach.

    In der folgenden Query wird mir ein Wert doppelt angezeigt. D.h. wenn ich bei
    der sub_a 3 rauskommt, und bei sub_b 0 , zeigt er in beiden Feldern 0 an.

    Nur warum!? Die Queries einzeln funktionieren einwandfrei, wenn ich sie so
    zusammen bastel passiert genau das beschriebene


    Code:
    select count(sub_a.AgentState) As ready, count(sub_b.AgentState) As not_ready
    from   (select AgentState  from t_Agent_Real_Time WHERE AgentState = 3) As sub_a,
           (select AgentState  from t_Agent_Real_Time WHERE AgentState = 2) As sub_b

    Kann ich die Abfrage vielleicht auch einfacher gestalten?

    Danke im Vorraus

    EDIT:
    Habe es jetzt so gelöst:

    Code:
    select sum(sub.ready) As ready, sum(sub.not_ready) As not_ready
    from   (select 
    	 CASE
    	 WHEN AgentState = '3'
    	 THEN count(AgentState)
    	 ELSE 0
    	 END As ready,
    	 CASE
    	 WHEN AgentState = '2'
    	 THEN count(AgentState)
    	 ELSE 0
    	 END AS not_ready
    	from t_Agent_Real_Time group by AgentState) As sub
    Verstehe aber immernoch nicht warum es vorher nicht funktioniert hat...

    Lg Kroni
    Zuletzt editiert von KroniNRW; 14.09.2007, 11:11.

  • #2
    Hallo,

    die 2. Lösung fragt nur eine Ergebnisrelation ab, während die 1. Fassung zwei Ergebnisrelationen verbinden, ohne die Beziehung dazwischen zu definieren.

    Comment

    Working...
    X