Announcement

Collapse
No announcement yet.

Subquery funktioniert nicht.

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

  • Subquery funktioniert nicht.

    Ich bin neu hier, deswegen die kurze, obligatorische Vorstellung:
    Mein Name ist Ulf und ich bin Datenbanktechnisch eher im mySQL und Oracle-Umfeld zuhause, jedoch hat das Schicksal mich in die MSSQL-Ecke getrieben. Daher auch mein Problem.

    Ich versuche folgende Abfrage abzusetzen, jedoch bekomme ich vom SQL-Server immer ein MSG 116 zurückgeliefert.

    select * from tabelle
    where Zelle2 in
    (
    select Zelle1 from
    (
    select Zelle1,max(Zeitstempel) as Zeitstempel from tabelle where Zelle1!='' and Zelle3!='' group by Zelle1
    )
    )
    or Zelle1 in
    (
    select Zelle1 from
    (
    select Zelle1,max(Zeitstempel) as Zeitstempel from tabelle where Zelle1!='' and Zelle3!='' group by Zelle1
    )
    )
    and Zeitstempel!=max(Zeitstempel);
    Woran kann das liegen?

  • #2
    Hallo Ulf,

    ganz einfach:
    1. Die SubSelects dürfen nur ein Feld zurückliefern.
    2. and Zeitstempel!=max(Zeitstempel);
    funktioniert auch nicht, eine Aggregation in Verbindung mit weiteren Feldern bedarf eines GROUP BY
    Olaf Helper

    <Blog> <Xing>
    * cogito ergo sum * errare humanum est * quote erat demonstrandum *
    Wenn ich denke, ist das ein Fehler und das beweise ich täglich

    Comment


    • #3
      Besten Dank, Olaf.
      die Subselects habe ich entsprechend umbauen können und den Zeitstempel habe ich jetzt auch gängig.

      Viele Grüße aus dem Pott.
      Ulf

      Comment

      Working...
      X