abfrage auf eine abfrag (ms sql)

hikeda_ya

Erfahrenes Mitglied
(entschuldigt bitte die schreibweisse - schlag mich mit ner sehnenscheidenenzündung rumm)

kann ich im sql auf eine abfrage eine weitere abfrage laufen lassen oder muss ich die abfrage in einer tabelle speichern um dann weiter machen zu können.

wenn ja - wie erstelle ich eine temoräre tabelle die dann wenn sie nicht mehr gebraucht wird einfach gelöscht wird

denke mit php wäre das eine einfache frage - nur kann ich das noch nicht verwenden
 
Ich weiß nicht was für eine Abfrage du haben möchtest. Aber in MySQL könntest du das mit einem Subquery machen.
In der Form
Code:
SELECT * FROM tabelle1 WHERE ID in (SELECT id FROM tabelle2 WHERE ...)
 
noch ne frage daszu?

wenn ich eine abfrage mache und mit dem ergebniss weiter arbeiten muss funktioniert da die subabfrage auch

zbsp:

abfrage 1 liefert ergebniss spalte1, spalte2 spalte3 + erzeugte spalte4 (as spalte4)

jetzt soll abfrage2

select spalte1, spalte2, spalte3, spalte4 where ....

wie bekomme ich das in ms sql hin

oder geht das nur über php
 
Hi,

Wenn du das Ergebnis eines Subquerys nutzen willst, kannt in diesem auch nur ein Attribut abfragen

also z.B.
SQL:
SELECT a FROM table_a WHERE b in (SELECT c FROM table_c)

Wenn du mehrere Attribute aus einer anderen Entität benötigst wäre die Verwendung von CURSOR oder VIEWs möglich. (siehe SQL Server Hilfe bzw. MSDN)
 
was ich zum Beispiel will ist:

Code:
SELECT kundenname, postanschrift, plz, ort 
FROM kaltenbach_1 
where anzahl > 3 IN (SELECT   [kd-nr],  count(*) AS anzahl FROM kaltenbach_1
where [BG 01, 15 MASCHINENBAU, SCHALTSCHRANKBAU] = 1
GROUP BY [kd-nr]

Das SubSelect funktioniert einzeln.

doch wenn ich es so zusammen setze geht es nicht

auch wenn ich es so schreibe will es nicht:

Code:
SELECT kundenname, postanschrift, plz, ort 
FROM kaltenbach_1 
where anzahl  IN (SELECT   [kd-nr],  count(*) AS anzahl FROM kaltenbach_1
where [BG 01, 15 MASCHINENBAU, SCHALTSCHRANKBAU] = 1
GROUP BY [kd-nr] 
having anzahl > 3)

die Fehlermeldungen sind
1. ungültiger Spaltenname "anzahl"
2. falsche Syntax in der nähe des IN - Schlüssels
 

Neue Beiträge

Zurück