这是我的桌子

jquery - MySQL案例条件在where子句中-LMLPHP

我的查询是当我使用cubbersId搜索时,如果我得到空数据where cubbersId = 0否则where cubbersId = 1 (my_search_data)像存储过程一样。

我试过这个查询

SELECT * FROM hometestimonial WHERE (CASE
    WHEN cubbersId IS NOT NULL THEN cubbersId = 1
    ELSE cubbersId = 0
END)


我搜索cubbersId = 1,所以得到了3 datas。但是我尝试在cubbersId 2中搜索cubbersId = 2表示no data,因此在这种情况下,我需要显示cubbersId = 0数据。

这是我的结果:

where cubbersId = 1数据:

jquery - MySQL案例条件在where子句中-LMLPHP

where cubbersId = 2数据:
jquery - MySQL案例条件在where子句中-LMLPHP

最佳答案

您可以使用UNION ALL来完成。
仅当第一个查询为空时,第二个查询才返回行:

SELECT * FROM hometestimonial
WHERE cubbersId = 2
UNION ALL
SELECT * FROM hometestimonial
WHERE cubbersId = 0 AND
NOT EXISTS (
  SELECT 1 FROM hometestimonial
  WHERE cubbersId = 2
)

08-25 10:44