Ich muss die folgenden Spalten in einer Tabelle aktualisieren. Männer, Frauen, Säuglinge und Kinder mit SQL-Verfahren.aus dieser Spalte paxtype, die f, i, m, c.Which ist weiblich, Säuglinge, Männer und Kinder respectively.but bin nicht in der Lage Fehler ORA-00907: fehlende rechte KlammerOracle SQL-Prozedur Aktualisierungstabelle
update xxxx a set (a.INFANTS,a.MALES,a.CHILDREN,a.FEMALES)=
(SELECT b.PAXTYPE, COUNT (b.PAXTYPE) FROM xxxx b
(case (count (b.PAXTYPE))
when (count (b.PAXTYPE))='M'then 'a.males'
when (count (b.PAXTYPE))='F' then 'a.females'
when (count (b.PAXTYPE))='I' then 'a.infants'
when (count (b.PAXTYPE))='C' then 'a.children'
END)
WHERE a.date_key = TO_CHAR (b.FLIGHTDATE, 'RRRRMMDD')
AND a.FLTNUM_KEY = TRIM (SUBSTR (b.flightnumber, 3))
AND a.origin = b.frm
AND a.destination = b.too
--and a.date_key=20170801
--and fightnumber = '100'
AND TRIM (a.cancelled) IS NULL
-- and rownum = 1
GROUP BY b.PAXTYPE;
)
Ich nehme an, Sie brauchen, um loszuwerden, '(count (b.PAXTYPE))', neben '(case' "auf der 3. Reihe". –
das getan haben, aber das gleiche Problem –
Sie wollen um 4 Spalten zu aktualisieren, aber 3 Spalte auszuwählen, muss auch die Fallstatistik vorher sein, und das Ende der Gruppe, da es Semikolon gibt, es ist nicht dort –