2013-02-16 55 views
0

我有這樣的MySQL查詢:SQL命令使用通配符

$query = mysql_query("SELECT * FROM school_staff WHERE DELETED = 'NO' AND BUILDING = '$building' ORDER by 
    Department != 'Principal', 
    Department != 'Assistant Principal', 
    Department != 'Kindergarten', 
    Department != 'First Grade', 
    Department != 'Second Grade', 
    Department != 'Third Grade', 
    Department != 'Fourth Grade', 
    Department != 'Fifth Grade', 
    Department != 'Learning Support', 
    Department != 'Alternative Education', 
    Department != '% - Chair', 
    Department ASC") or die(mysql_error()); 

如何將使該行:Department != '% - Chair',作出任何%文本?

回答

1

編輯迴應您的評論:

我會使用一個CASE聲明。類似於

ORDER BY CASE WHEN Department LIKE '% - Chair' THEN 1 WHEN Department = 'Alternative Education' THEN 2 ELSE 3 END 

您可以根據需要在您的CASE語句中添加儘可能多的WHEN語句。

+0

其實,它是目前在做$大樓顯示了所有的行,如果系列進行排序升序這些術語。我試圖讓「替代教育 - 主席」這樣的東西出現在「替代教育」之前。本質上,試圖讓Anything - Chair在Anything之前出現。 - http://www.webdeveloper.com/forum/showthread.php?229494-MySQL-order-by-custom-list – user1779810 2013-02-16 02:30:50

0

您是否嘗試過不喜歡'%主席%

0

您在此場景中使用SQL like操作符。

試試這個:

Department NOT LIKE '% - Chair'