从MySQL数据库表中使用WHERE子句的列中选择所有

时间:2012-01-26 09:20:55

标签: php mysql

根据

$query = mysql_query("SELECT * FROM `pages`
                      WHERE parent_id = '0'
                            AND menu_location NOT IN (main,footer)");

我正在尝试从数据库表中选择父ID为0并且页面不在主菜单或页脚菜单中的所有页面,所以除了这些页面设置为其中任何一个之外,我想要选择所有页面菜单。

有多种menu_location类型,所以我不相信我可以使用NOT NULL

我有一种感觉我可能会在上下文中使用NOT IN语句,但如果有人能指出我正确的方向如何正确查询数据库,我将非常感激。

EDIT。

Table: 'pages'
Table Columns: 'active', 'page_id', 'parent_id', 'order', 'site_id',
               'page_name', 'page_display_name', 'page_location', 'page_type',
               'menu_location' 
               (there are other columns but mainly for content, metadata etc).

我只是想在menu_location列中选择表格中除主页和页脚之外的所有页面。感谢

2 个答案:

答案 0 :(得分:3)

使用''围绕主要广告页脚值:

$query = mysql_query("SELECT * FROM `pages`
                      WHERE parent_id = '0'
                            AND menu_location NOT IN ('main','footer')");

答案 1 :(得分:2)

简单地

SELECT * FROM `pages`
         WHERE parent_id = '0'AND menu_location NOT IN ('main','footer')