dedlfix: Vernünftiger Aufbau/Abfragen für einen Belegungsplaner

Beitrag lesen

Hi!

insert into zahl (zahl) select distinct 25 from zahl where 25 not in (select zahl from zahl);

Deine Abfrage liefert zu viele (Zwischen-)Ergebnisse. DISTINCT ist nicht der beste Weg, sondern die Abfrage so zu gestalten, dass die gewünschte Anzahl herauskommt. Du fragst hier alle Reihen ab, in denen 25 nicht vorkommt. Das kann eine recht große Menge werden. Die interessiert dich aber gar nicht. Im Gegenteil, sie ist viel zu groß, weil du nur eine Ergebniszeile haben willst, und nicht so viele wie Datensätze in zahl vorhanden sind. Auf diese unsinnig große Menge lässt du dann DISTINCT los, was herauszufinden versucht, wieviele unterschiedliche Werte es gibt. Deswegen hab ich in meinem Vorschlag ein Subselect im FROM stehen, denn das liefert nur exakt einen Datensatz, der dann entweder genommen wird oder nicht.

Lo!