Einzelnen Beitrag anzeigen

DoktorD

Registriert seit: 13. Dez 2005
153 Beiträge
 
#4

Re: Lange Wartezeit für Datenabfrage für Gauss-Graphen

  Alt 24. Aug 2009, 17:18
Also der Lösungsansatz von sx2008 finde ich ist der Königsweg. Aber darauf wäre ich nie alleine gekommen.
Ich will den nun also umsetzen (bin noch SQL Anfänger)


SQL-Code:
select dbo.TemporaereKlassen.Klasse, Count(*) AS Anzahl FROM
  dbo.V_Measure INNER JOIN dbo.TemporaereKlassen ON
  (dbo.V_Measure.IST_WERT >= dbo.TemporaereKlassen.MinValue) AND
  (dbo.V_Measure.IST_WERT < dbo.TemporaereKlassen.MaxValue)
GROUP BY dbo.TemporaereKlassen.Klasse HAVING dbo.V_Measure.Auftrag = '1291626-92'

nun kommt beim ausführen die Meldung
SQL-Code:
Server: Nachr.-Nr. 8121, Schweregrad 16, Status 1, Zeile 1
Die dbo.V_Measure.AUFTRAG-Spalte ist in der HAVING-Klausel ungültig, da sie nicht in einer Aggregatfunktion und nicht in der GROUP BY-Klausel enthalten ist.
Was hat das zu bedeuten?

Die Klasse mit den Grenzen habe ich mir mal statisch angelegt. Wobei das aber auch noch ein Problem für mich darstellt. Denn es kann sein, das von mehreren Rechnern gleichzeitig eine Abfrage gestartet wird, die aber unterschiedliche Klassen haben kann.
Somit würden beide auf die selbe Tabelle zugreifen
Kann man sich in der Abfrage auch so eine Art Temporäre Tabelle erzeugen, die nach der Abfrage dann wieder weg ist?
Wie man temporäre Tabellen erzeugt habe ich schon ausprobiert, allerdings existieren diese dann für die komplette Sitzung bis man sich wieder abmeldet.
  Mit Zitat antworten Zitat