MySQL Select nur Spalten ohne NULL Wert?

3 Antworten

Bevor Du Dir das antust was Dir zu blöd ist: Auch Dein einfachster Weg bringt Dich nicht ans Ziel. Du würdest nur Sätze bekommen, bei denen alle Spalten null sind. Und solche Sätze wirst wohl kaum haben.

Überlege mal, was der Unterschied zwischen AND und OR ist. Die Datenbank macht immer das, was Du ihr aufträgst, nicht das was Du haben möchtest.

Mit einer Procedure wäre das möglich. Dort baut man dynamisch den SELECT auf mit den Spaltennamen aus den Systemtabellen, welche die Spaltennamen für die Tabellen beinhalten.

Mit reinen SQL ist das nicht möglich, da musst du schon alle Spalten einzeln hinschreiben. Sollte aber auch kein Akt sein. Die Spaltennamen kann man sich anzeigen lassen, mit gängigen Editoren wie Notepad++ gibt es Multiline Editing, so dass man für 50 Zeilen is not null innerhalb von 3 Sekunden anfügen kann.

Ansonsten stellt sich natürlich die Frage wo du den SELECT nutzt. In Programmiersprachen von außerhalb könntest du dir halt erst den Aufbau holen und dies dann ebenso dynamisch aufbauen wie mit einer Datenbankprocedure.

Woher ich das weiß:Berufserfahrung – Softwareentwickler/Projektleiter seit 2012

Kannst du erklären, warum die eine solche Abfrage benötigst? Was ist der HIntergrund?