Sehr neu bei Unterabfragen und finde mich in Not von Hilfe.SQL-Unterabfrage innerhalb einer SELECT-Berechnung
Ich möchte von einer einzigen Datenbank abfragen. Innerhalb dieser Abfrage möchte ich eine Variable aus zwei Variablen mit dieser Datenbank berechnen (SUBQ und TOTAL). Mein Problem ist das: Meine SUBQ-Variable muss einem zusätzlichen Satz von WHERE-Einschränkungen unterliegen, zusätzlich zu denen, die für die gesamte Abfrage verwendet werden. Vereinfachtes Beispiel-Code unten:
create table [blah]
as select date_part('YEAR',DATE) as Orig_Year,
sum([SUBQ variable])/sum(TOTAL) as UD_Rate
from [database]
where [full query requirements]
group by date_part('YEAR',DATE)
Ich habe versucht, durch Angabe einer Unterabfrage in der FROM-Anweisung eine Unterabfrage innerhalb dieser Berechnung zu erstellen. Also, zum Beispiel,
select date_part('YEAR',DATE1) as Orig_year,
sum(a.SUBQ)/sum(b.TOTAL) as UD_Rate
from database b,
(select SUBQ
from database
where DATE2 is not null and
months_between(DATE3,DATE2) <= 100 and
VALUE1 in ('A','B')) a
where VALUE2 between 50.01 and 100
group by date_part('YEAR',DATE1)
Bin ich auf dem richtigen Weg mit meinem Denken hier? Ich bin noch nicht in der Nähe einer funktionalen Abfrage und habe wenig Glück gehabt, eine ähnliche Frage online zu stellen, also bin ich an dem Punkt, wo ich meine Hände hochgeworfen habe und zu dir gekommen bin. Obwohl ich wenig über sie weiß, wäre es angemessener, eine VIEW mit dem SUBQ-Wert zu erstellen und sie dann mit der breiteren Abfrage zusammenzuführen?
Gedanken von Kuchen und Kuchen für wer auch immer ist bereit, mir bei dieser Anfrage zu helfen. Vielen Dank.
es würde helfen, verwenden würden, wenn Sie die Unterabfrage und vollständige Abfrageanforderungen zeigen können –
Sie machen es so einfach, dass wir die Abfrage nicht erstellen können. Zeigen Sie uns das Datenbankschema, die Beispieldaten und das erwartete Ergebnis. \t Bitte lesen Sie [** How-to-Ask **] (http://stackoverflow.com/help/how-to-ask) \t \t Und hier ist ein großartiger Ort, um [** START **] (http://spaghettidba.com/2015/04/24/how-to-post-at-sql-question-on-a-public-forum/) um zu erfahren, wie Sie Ihre Fragequalität verbessern und bessere Antworten erhalten. –
Fair genug. Hinzufügen ... –