Ich versuche, eine Abfrage mit den Headern "a_program, app_col, count, load_fy" zu erhalten. Es wird versucht, "a_program" so einzustellen, dass es nur eine sehr ausgewählte Teilmenge der bestehenden Spalte "current_program_code" ist. "app_col, subject_id und load_yr" sind alle vorhandenen Spalten in der Tabelle "FT_a". Nun, das knifflige Bit, ich möchte nur Antworten von "FT_a", die nicht in der Tabelle "FT_d" existieren. "FT_a" und "FT_d" haben beide eine Spalte "subject_id".Oracle SQL-Abfrage verschachtelt Funktionen mit einem Join auswählen
versucht, das folgende auszuführen.
select a_program, A.app_col,count(distinct A.subject_id),A.load_fy
from
(
select A.app_col,A.subject_id, A.load_fy,
case
when A.current_program_code in ('234','ABC', 'DDD', 'TTT', 'SSS', 'PPP', 'DDM') then 'POP'
when A.current_program_code in ('AND', 'YOU', 'ARE', 'IT', 'INT','CAO','PAP') then 'ROM'
when A.current_program_code in ('ORD') then 'SAG'
when A.current_program_code in ('TO', 'SPA', 'SAP', 'SLA', 'SIS') then 'FOR'
when A.current_program_code in ('TXT', 'XLS', 'JAN') then 'FAV'
when A.current_program_code is null then 'Unknown'
else A.current_program_code
end
as a_program
from ft_a A
left join ft_d D
on A.subject_id=D.subject_id
where D.subject_id is null
and A.load_fy='2015'
)
group by a_program, A.app_col, A.load_fy;
Wenn ich diesen Code ausführen, erhalte ich:
Error at Command Line:1 Column:1
Error report:
SQL Error: ORA-00904: "A"."LOAD_FY": invalid identifier
00904. 00000 - "%s: invalid identifier"
Ich kann nur vorstellen, ich bin irgendwo eine dumme Komma fehlt ... jede mögliche Hilfe?
Sorry, keine Syntaxfehler, so dass es keine fehlenden Kommas . – jarlh