SQL-Frage: Subselect

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
01101101
Beiträge: 219
Registriert: 06.08.2003 10:53:09
Wohnort: Franken

SQL-Frage: Subselect

Beitrag von 01101101 » 17.06.2012 16:15:32

Hallo zusammen,

ich würde gerne eine existierende MySQL-Abfrage erweitern. Hierzu muß ich ein Subselect verwenden. Mein Problem: Für die innere Abfrage benötige ich einen Wert der äußeren Abfrage. Das funktioniert leider nicht (Unknown column 'VertMessT' in 'having clause').

Schematisch möchte ich folgendes:

Code: Alles auswählen

SELECT
   ...,
   MONTH(datum) AS Monat,
   ...,
   SUM(MessT) AS VertMessT,
   ...
   (SELECT
      ...
      HAVING ... > XXXX
   )
   ...
FROM tab1
GROUP BY Jahr, Monat
An der Stelle XXXX benötige ich nun u.a. den Wert VertMessT aus der äußersten Abfrage. Kann mir jemand sagen, ob das überhaupt funktioniert, und falls ja, wie? Die Abfrage funktioniert schon, wenn ich XXXX per Hand fülle.

Vorab: Wahrscheinlich ist die Subselect-Lösung nicht schön. Die restliche Abfrage ist aber recht umfangreich, sodaß ich mir einen Umbau gerne ersparen möchte.

Vielen Dank!

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: SQL-Frage: Subselect

Beitrag von Natureshadow » 17.06.2012 19:44:51

Hi,

da kann man überhaupt nichts zu sagen. Poste bitte das Datenbankschema und was du daraus haben willst, dann sehen wir weiter.

Subselects sind meistens die falsche Lösung.

-nik

01101101
Beiträge: 219
Registriert: 06.08.2003 10:53:09
Wohnort: Franken

Re: SQL-Frage: Subselect

Beitrag von 01101101 » 18.06.2012 09:31:17

Hallo,

ja, ich glaube Dir, daß es viel bessere Lösungen gibt. In diesem (Sonder-)Fall interessiert mich aber wirklich nur, ob man den Wert einer "äußeren" Abfrage in einem Subselect innerhalb des Having-Abschnittes verwenden kann - und falls ja, wie.

Falls das nicht funktioniert, ist es nicht schlimm - dann führe ich den Subselect weiterhin separat aus.

dubbidu43
Beiträge: 17
Registriert: 07.05.2012 23:17:13

Re: SQL-Frage: Subselect

Beitrag von dubbidu43 » 24.06.2012 20:47:05

01101101 hat geschrieben: Falls das nicht funktioniert, ist es nicht schlimm - dann führe ich den Subselect weiterhin separat aus.
ist aber auch doof :-(

Du hast das Schema deines SQL-Staements dargestellt. Ich komme aus der DB2-Ecke und kenne mich mit den MySQL-Besonderheiten nicht aus.... aber verstehe ich das richtig, daß Du im Subselect eine HAVING-Klausel ohne die GROUP-BY-Klausel auf der gleichen Ebene zu haben... cool... gibt es sowas tatsächlich ?

Grüße
Dubbidu43

Antworten