2016-07-01 12 views
1

Es gibt eine Kreuztabellenzeilen mit mindestens einem not null Wert für bestimmte Spalten erfassen muss beitreten ist:MYSQL wo nicht null für mindestens eine Spalte

where books.id is not null 
or typings.id is not null 
or translates.id is not null 

gibt es eine Funktion oder Methode doppelte not null zu verhindern diese Where-Klausel?

etwas wie folgt aus:
where at_Least_not_Null_One_Of(books.id,typigns.id,translates.id)

Antwort

1

Verwendung COALESCE:

COALESCE(books.id,typigns.id,translates.id) IS NOT NULL 
+0

Dank, und welches ist schneller? mehrere 'where' Klausel oder' COALESCE'? – alex

+0

@alex Sie können diese beiden Abfragen erklären und die Leistung überprüfen. – Blank