2013-06-12 2 views
0

Этот SQL-запрос работает отлично, когда я удаляю предложение AS.Ошибка в синтаксисе в MySQL: инструкция AS

$query = "SELECT bd_brushname FROM tbl_brushdescription WHERE MATCH(bd_brushname, bd_brushdescription) AGAINST ('brushes' IN BOOLEAN MODE) AS rank"; 
    $sqlquery = mysql_query($query); 
    if($sqlquery === FALSE){ 
     die(mysql_error()); 
    } 

И когда я использую AS, он говорит You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AS rank' at line 1

Может кто-то пожалуйста, скажите мне, почему он не работает?

+1

возможно дубликат [MySQL AS в ИНЕКЕ] (http://stackoverflow.com/questions/4611451/mysql-as-in-where- заявление) –

ответ

0

Псевдонимы предназначены для размещения на колонки, которые вы выбираете, чтобы:

  • переименовать их на выходе
  • использовать псевдоним в order by или having п

Source

Понимая ваш запрос, вы используете псевдоним для условия здесь, в чем смысл?

Что вы пытаетесь сделать?

+0

На самом деле я хочу ранжировать результаты. Я думал сделать что-то вроде: 'SELECT bd_brushname FROM tbl_brushdescription WHERE MATCH (bd_brushname, bd_brushdescription) AGAINST ('щетки' В РЕЖИМЕ BOOLEAN) AS rank WHERE MATCH (bd_brushname, bd_brushdescription) ПРОТИВ ('щетки' В РЕЖИМЕ BOOLEAN)' –

+0

Я не знаю действительно ли вы пытаетесь сделать то, что вы пытаетесь сделать, если вы пытаетесь отсортировать результаты по релевантности, вам нужно включить в свои выбранные столбцы релевантность: [Возможный дубликат] (http://stackoverflow.com/questions/13494460/MySQL-полнотекстового-поиск-заказ по-значимость) –

0

Изменить место "AS ранга"

$query = "SELECT bd_brushname AS rank FROM tbl_brushdescription WHERE MATCH(bd_brushname, bd_brushdescription) AGAINST ('brushes' IN BOOLEAN MODE)"; 
    $sqlquery = mysql_query($query); 
    if($sqlquery === FALSE){ 
     die(mysql_error()); 
    } 
Смежные вопросы