SQL-Abfrage und leere Felder vermeiden
Hallo,
ich mache grade eine Ausbildung zum Fi-Si und vor dem Weihnachtsurlaub haben wir im Fach Datenbanken noch eine Aufgabe bekommen die wir lösen sollen. Nun renn ich aber die ganze Zeit mit dem Kopf vor die Wand und finde keine Lösung. Aufgabe ist: Wir haben eine Tabelle in der Vor und Nachnamen stehen. Jetzt sollen wir zufällige Namen generieren lassen aber die Spalten sind ungleichmäßig. Es sind mehr Vor als Nachname in der Tabelle. Wenn ich jetzt eine abfrage mache:
kommt dann sowas z.b. raus:
Wie verhindere ich das sowas passiert wie Wald, Weck oder Wrede?
vielen, lieben dank
ich mache grade eine Ausbildung zum Fi-Si und vor dem Weihnachtsurlaub haben wir im Fach Datenbanken noch eine Aufgabe bekommen die wir lösen sollen. Nun renn ich aber die ganze Zeit mit dem Kopf vor die Wand und finde keine Lösung. Aufgabe ist: Wir haben eine Tabelle in der Vor und Nachnamen stehen. Jetzt sollen wir zufällige Namen generieren lassen aber die Spalten sind ungleichmäßig. Es sind mehr Vor als Nachname in der Tabelle. Wenn ich jetzt eine abfrage mache:
Select * from names ORDER by RAND() LIMIT 200;
kommt dann sowas z.b. raus:
Ortfried Göring
Holle Mittelstädt
Gundela Mair
Wald
Annelene Johannsen
Eva-Maria Lackner
Volkhardt Henschel
Mathias Geißler
Weck
Wrede
Hannelore März
Sighilde Schreiner
Wie verhindere ich das sowas passiert wie Wald, Weck oder Wrede?
vielen, lieben dank
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 324849
Url: https://administrator.de/contentid/324849
Ausgedruckt am: 22.11.2024 um 18:11 Uhr
12 Kommentare
Neuester Kommentar
Mit where ?
Gruß mik
Select * from names WHERE Vorname IS NOT NULL AND Nachname IS NOT NULL ORDER by RAND() LIMIT 200;
zwangseinweisung
War dein Weihnachten echt so schlimm ?
Du weist was das * beim Select bedeutet?
Deine obere Select Anweisung listet nur VORHANDENE Vornamen / Nachnamen Kombinationen in zufälliger Reihenfolge auf.
Aber Du solltest doch zufällige Vornamen / Nachnamenkombinationen erzeugen, oder?
Also Vornamen und Nachnamen einzeln holen (und leere rausfiltern) und dann kombinieren.
Deine obere Select Anweisung listet nur VORHANDENE Vornamen / Nachnamen Kombinationen in zufälliger Reihenfolge auf.
Aber Du solltest doch zufällige Vornamen / Nachnamenkombinationen erzeugen, oder?
Also Vornamen und Nachnamen einzeln holen (und leere rausfiltern) und dann kombinieren.
Das währ die Docu.
http://dev.mysql.com/doc/refman/5.7/en/non-typed-operators.html
http://dev.mysql.com/doc/refman/5.7/en/non-typed-operators.html