2016-04-06 20 views
0

Die Frage ist:Tabelle und Eingabewerte ändern?

„5. Berechnen und Anzeigen der Gesamtbetrag jeder Hochschule auf Professor Gehälter verbringt, das niedrigste Gehalt und höchste Gehalt für jedes College Name diese Spalten.‚Gesamtbudget‘,‚Der niedrigste Gehalt‘ und "Höchstes Gehalt". Schließen Sie nur Colleges ein, deren durchschnittliches Gehaltsbudget mehr als 80.000 US-Dollar beträgt. Bestellen Sie die Ergebnisse alphabetisch nach College-Namen. Sie werden die Professorentabelle für diese Abfrage verwenden. "

ALTER TABLE professor 
ADD ('Total Budget' varchar(10), 
'Lowest Salary' varchar(6), 
'Highest Salary' varchar(7)) 

INSERT INTO professor (Total Budget) 
SELECT SUM(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor' 

INSERT INTO professor (Lowest Salary) 
SELECT MIN(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor' 

INSERT INTO professor (Highest Salary) 
SELECT MAX(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor'; 

- Ich bin nicht sicher, wie die Syntax funktioniert, aber das ist, was ich geschrieben habe, aber es sagt:

ORA-00933: SQL-Befehl nicht richtig

beendet

Ich benutze Oracle.

+0

fehlt ';.' das ist – SriniV

+0

Selbst wenn ich ein hinzufügen,? am Ende jeder Abfrage, gibt es immer noch die gleichen Fehler – Deniz

+0

Der Datentyp ist VARCHAR, aber Sie wählen Zahlen. Können Sie sie ändern? – SriniV

Antwort

0

Es gibt einige Dinge, die Sie beim Codieren immer berücksichtigen sollten. Zunächst einmal plz VARCHAR2 anstelle des VARCHAR-Datentyps. Verwenden Sie auch nicht 'für Spaltennomenklatur. "werden verwendet, wenn Leerzeichen in der Spaltennomenklatur verwendet werden müssen oder wenn der Spaltenname die Groß-/Kleinschreibung beachten muss oder Oracle als RESERVED KEYWORDS als Spaltenname verwendet werden soll." Spalte 1 "ist nicht gleich" SPALTE 1 " . unter Verwendung eines solchen Nomenklatur Codierung der Praxis zu vermeiden ich habe modifizierte syntaktisch Code hoffe, es hilft

ALTER TABLE professor 
ADD 
("Total Budget" varchar2(10), 
"Lowest Salary" varchar2(6), 
"Highest Salary" varchar2(7) 
); 

INSERT INTO professor ("Total Budget") 
SELECT SUM(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor'; 

INSERT INTO professor ("Lowest Salary") 
SELECT MIN(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor'; 

INSERT INTO professor ("Highest Salary") 
SELECT MAX(pr_salary) FROM professor 
WHERE professor.pr_salary > 80000 AND professor.pr_title='Professor';