我想从MySQL获取行nazwa
包含单词zero
和no
,但我得到了所有结果。
MySQL代码:
SELECT *, IF (nazwa LIKE '%Zero%', 1, 0)+IF (nazwa LIKE '%no%', 1, 0) AS nazwa FROM odc_ListaAnime WHERE statuts='zaakceptowane' HAVING nazwa > 0 ORDER BY id DESC;
答案 0 :(得分:0)
您有两列名为nazwa
的列,这会混淆编译器。如果要在having
子句中使用包含别名的MySQL扩展,请将结果命名为else:
SELECT *,
IF(nazwa LIKE '%Zero%', 1, 0) + IF(nazwa LIKE '%no%', 1, 0) AS NumNazwa
FROM odc_ListaAnime
WHERE statuts = 'zaakceptowane'
HAVING Numnazwa > 0
ORDER BY id DESC;
但是,为什么不写:
SELECT *,
IF(nazwa LIKE '%Zero%', 1, 0) + IF(nazwa LIKE '%no%', 1, 0) AS NumNazwa
FROM odc_ListaAnime
WHERE statuts = 'zaakceptowane' AND
(nazwa LIKE '%Zero%', 1, 0 OR nazwa LIKE '%no%', 1, 0)
ORDER BY id DESC;
如果您真的不需要,可以从SELECT
删除表达式。