MySQL返回所有,但我想得到的只是一些结果

时间:2015-03-18 11:11:18

标签: mysql

我想从MySQL获取行nazwa包含单词zerono,但我得到了所有结果。

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;

1 个答案:

答案 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删除表达式。