我通过Qml + JS从表中读取数据并且我需要返回100才是查询未找到数据:
SELECT (CASE
WHEN pourcenthour < pourcentcycle AND pourcenthour < pourcentmonth THEN pourcenthour
WHEN pourcentcycle < pourcenthour AND pourcentcycle < pourcentmonth THEN pourcentcycle
WHEN pourcentmonth < pourcenthour AND pourcentmonth < pourcentcycle THEN pourcentmonth
ELSE 100
END) AS pourcent,
ata,
immatriculation
FROM part_log
WHERE removed = "false" AND immatriculation =? AND ata=?
ORDER BY pourcent DESC LIMIT 1
我试试这个:
SELECT IFNULL((CASE WHEN ... ELSE 100 END),100) AS pourcent, ...
我收到了错误:
无法读取未定义的属性'pourcent'
我试试这个:
SELECT IFNULL(SELECT (CASE WHEN ... ELSE 100 END) ,100) AS pourcent
我收到了这个错误:
错误:靠近“SELECT”:语法错误Impossible d'exécuterl'指令
答案 0 :(得分:0)
您在SELECT子句中编写的内容将针对每一行进行一次评估。这意味着如果没有行,SELECT子句中的任何内容都无法帮助您。
您可以使用compound query添加另一行。最终的LIMIT确保只返回part_log
行(如果找到):
SELECT *
FROM (SELECT CASE ... END AS pourcent, ata, immatriculation
FROM part_log
WHERE removed = "false" AND immatriculation =? AND ata=?
ORDER BY pourcent DESC LIMIT 1)
UNION ALL
SELECT 100, NULL, NULL
LIMIT 1;