时,请务必将别名用于列
来自MySQL和SQL Server,我知道我可以"保存"作为表格,例如:
Select * (Select * from Table) as tb.
我在Oracle中尝试了以下内容:
Select Firma, Nr,Tour from( SELECT
fahr.FIRMA FIRMA,
fahr.nr nr,
fahr.TOUR,
fahr.ausf_tag ausf_tag,
fahr.kunde kunde,
fahrp.artikel artikel,
fah.bezeichnung,
fa.fraktion_nr,
fahrp.eak_nr eak_nr,
fahrp.auftr_nr auftragsnummer,
fahrp.auftr_pos auftragsposition,
fahrp.auftr_upos auftragsunterposition,
NULL tourgewicht,
fahr.leistgort leistgort,
fahr.lo_gpname1 lo_gpname1,
fahr.lo_strasse lo_strasse,
fahr.lo_plz lo_plz,
fahr.lo_ort lo_ort,
fahr.fzg_nr,
fahr.pol_kennz,
fahrzfa.eigner,
TO_CHAR (fahr.start_zeit, 'HH24:MI:SS') start_zeit,
TO_CHAR (fahr.ende_zeit, 'HH24:MI:SS') ende_zeit,
fahr.kilometer,
fahr.Warenlager,
fahrp.Warenlager LAGER,
fahr.TOUR,
fahrp.KTR KTR,
fahr.faktura,
fahrp.rechnung faktura_pos,
fahr.abrechnung,
fahr.standort,
fahr.standort2,
skp_AUFTRAG_EK.rg_empf,
skp_AUFTRAG_EK.rg_empf_kz,
fahrp.preis_ueberschrieben,
skp_auftrag_ek.ds_branche,
FROM
skp_ARTIKEL_WARE_Z fa,
skp_ARTIKEL_Z fah,
skp_FAHRAUFTRAG fahr,
skp_FAHRAUFTRAG_POS fahrp,
skp_FAHRZEUG fahrzfa,
skp_FIRMA fahrfir,
skp_AUFTRAG_EK
WHERE
fahr.FIRMA = fahrp.FIRMA
AND fahr.nr = fahrp.nr
AND fahrp.FIRMA = skp_AUFTRAG_EK.FIRMA(+)
AND fahrp.auftr_nr = skp_AUFTRAG_EK.auftr_nr(+)
AND fahrp.artikel = fah.art_nr
AND fahr.FIRMA = fahrzfa.FIRMA(+)
AND fahr.fzg_nr = fahrzfa.fzg_nr(+)
And Fahr.Firma = Fahrfir.Firma
and fahrp.artikel = fa.art_nr(+)
and fahr.firma between 721 and 778
and fahr.ausf_tag >= to_date ('01.09.2017 00:00:00', 'DD.MM.YYYY HH24:MI:SS')
and fahr.ausf_tag <= to_date ('30.09.2017 00:00:00', 'DD.MM.YYYY HH24:MI:SS')) as d
在我是甲骨文的新手,而不是sql上帝,所以有人知道怎么了吗?
错误消息在这里很清楚 - 您的SELECT
中有重复的列名。从我看到的是TOUR
列 - 但是请仔细检查,因为也可能还有其他重复。通常,在执行CREATE TABLE ... AS SELECT