2

クエリの何が問題になっていますか?

SELECT ...
       MATCH(results.keywords) AGAINST('".DB::e($_POST['s'])."' IN BOOLEAN MODE) AS aaa,
       SUM( MATCH(tags.keywords) AGAINST('".DB::e($_POST['s'])."' IN BOOLEAN MODE) ) AS bbb
  FROM table1
  JOIN table2 ... JOIN table3 ...
 WHERE (aaa > 0   here the alias doesn't work!
        OR bbb > 0   here the alias doesn't work! )
GROUP BY table1.id
ORDER BY aaa DESC,  but here the alias works!
         bbb DESC  but here the alias works!

WHERE句を削除すると完全に機能します...では、エイリアスの何が問題なのですか?

4

1 に答える 1

4

HAVING( herehere、やや役に立たない: here );を使用する必要があります。エイリアスが存在する前にWHERE句が評価されます;)

于 2012-04-06T01:45:20.287 に答える