2012-01-26 97 views
0

在使用WHERE子句

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

我想选择数据库表中的所有网页,父ID是0和页面是不是在主菜单中MySQL数据库表列从所有选择或页脚菜单,所以我想选择所有除了这些页面设置为这些菜单之一。

有多个menu_location类型,所以我不相信我可以使用NOT NULL为例。

我有一种感觉,我可能使用NOT IN声明的背景下,但如果任何人都可以指出我在如何正确查询数据库的正确方向,我将非常感激。

编辑。

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列中的所有页面。由于

+1

你应该**发表您的表结构**,和/或几个例子行。你可能需要menu_location'main','footer'在重音之间,除非它们指向列 - 再次,没有我们不知道的DDL。 – Konerak

+1

只是在黑暗中拍摄:NOT IN需要一系列的值,所以也许你应该把这个陈述写成'NOT IN'('main','footer')' –

+0

LOL,谢谢弗朗切斯科 - 尽管如此 - 它......我快到了!非常感谢:D – zigojacko

回答

3

只是围绕着主的广告页脚值与''

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

简单

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