Frage stellen
0

SQL Abfrage in anderer Abfrage aber in select?

gefragt 2018-07-09 16:28:38 +0200

Ryan Stekken Gravatar-Bild

Hallihallo, ich muss in der Schule in Informatik als Projekt eine Datenbank über Versicherungen machen. Jetzt wollte ich ausrechnen, wieviel Prozent der Kunden jeweils bei den verschiedenen Unternehmen sind. So sieht die Abfrage bis jetzt aus:

SELECT "UnternehmensNr", "unternehmen"."Name", COUNT( "KundenNr" ) "Anzahl der Kunden" , count(KundenNr)/50/*100 FROM "kunde", "unternehmen" WHERE "kunde"."UnternehmensNr" = "unternehmen"."UnternehmensNr" GROUP BY "UnternehmensNr", "unternehmen"."Name"

Ich weiß, dass die Tabelle "kunde" derzeit 50 Einträge hat. Jedoch wollte ich die Abfrage so ändern, dass sie immer mit der aktuellen Anzahl an Datensätzen funktioniert. Eine Abfrage, die mir die Spaltenanzahl von "kunde"ausgibt, sähe ja einfach so aus:

select count(*) from kunde

Aber wie kann ich das Ergebnis jetzt in den select-Teil der Abfrage einbinden? Unterabfragen habe ich bisher nur bei where kennengelernt und sie scheinen auch nur dort zu funktionieren. Ich bin ziemlicher Anfänger und bitte um eure Hilfe und eine am Besten möglichst einfache Lösung :) LG und danke im vorraus

Bearbeiten Tags ändern Melden schließen vereinen löschen

1 Antwort

0

geantwortet 2018-07-10 17:46:25 +0200

RobertG Gravatar-Bild

updated 2018-07-10 17:49:30 +0200

Das ist bei Deiner Problemstellung kein Problem, die Unterabfrage direkt in die Abfrage einzubauen. Das liegt daran, dass die Unterabfrage genau nur einen Datensatz ausgibt.

SELECT "UnternehmensNr", "unternehmen"."Name", COUNT( "KundenNr" ) "Anzahl der Kunden" , COUNT("KundenNr")*100/(SELECT COUNT("ID") FROM "kunde") "Prozent" FROM "kunde", "unternehmen" WHERE "kunde"."UnternehmensNr" = "unternehmen"."UnternehmensNr" GROUP BY "UnternehmensNr", "unternehmen"."Name"

... wobei ich jetzt einfach "ID" in den Count-Befehl gegeben habe, in der Annahme, dass so Dein Primärschlüsselfeld in der Tabelle heißt. Dieses Feld ist auf jeden Fall in jedem Datensatz mit Inhalt gefüllt, nie NULL.

Gruß

Robert

Bearbeiten Melden löschen Link mehr

Kommentare

Hab's noch nicht ausprobiert, aber Vielen Dank!! :)

Ryan Stekken Gravatar-BildRyan Stekken ( 2018-07-11 14:19:48 +0200 )Bearbeiten
Registrieren oder einloggen, um zu antworten

Antwortwerkzeuge

1 Beobachter

Statistik

Gefragt: 2018-07-09 16:28:38 +0200

Angesehen: 20 Mal

Aktualisiert: Jul 10