Dans cette requête de jointure, je multiplie deux colonnes de tables différentes, premium
& points
. Ce que je veux arriver est que s'il n'y a pas de colonnes jointes dans le tableau premium
le multiplicateur sera 1.multipliant deux colonnes, tables différentes ... une colonne null
ici est la requête
SELECT parent.*,(premiumtable.bid * pointstable.points) as total FROM strings parent
LEFT JOIN premium premiumtable on parent.sid=premiumtable.sid AND premiumtable.paid='1'
LEFT JOIN points pointstable on parent.sid=pointstable.`string-id`
WHERE parent.category=:category AND (parent.submittype='0' OR parent.submittype='3') GROUP BY parent.id ORDER BY total LIMIT 5
Donc, si rien ne se joint au premiumtable
au lieu de premiumtable.bid * pointstable.points
il serait 1 * pointstable.points
. Les premiumtable.bid
agit comme un multiplicateur, si ce n'est pas présent, je voudrais total
à l'égalité pointstable.points
Coalesce semble comme si c'était plus propre ... –
Tous ceux qui ont programmé dans n'importe quel langage de programmation peuvent comprendre la syntaxe de 'CASE'. Tous ceux qui ont déjà croisé 'COALESCE' ont été contraints de chercher la signification et la syntaxe. Que diriez-vous de 'ISNULL', qui pourrait également être compris? –