Php 带有IF条件的SELECT语句
我有一个表,它有列Php 带有IF条件的SELECT语句,php,mysql,Php,Mysql,我有一个表,它有列 menu_id , parent_id, controller , action , action_edit , action_view , select * from test where ( action like 'my_action.php' or action_edit like '%my_action.php%' or action_view like '%my_action.php%' ) AND parent_id !=0 ORDER BY `c
menu_id , parent_id, controller , action , action_edit , action_view ,
select * from test where
( action like 'my_action.php' or
action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
) AND parent_id !=0 ORDER BY `controller` ASC
当action或action\u view或action\u edit为home.php->我想省略父\u id=0
我试着用
和IFaction='home.php'或action\u view='home.php'或action\u edit='home.php',家长=0,而不是和父\u id=0但它给了我一个令牌不匹配错误
但是不工作,提前谢谢你:怎么样:
select * from test where
(( action like 'my_action.php' or
action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
)) AND (parent_id !=0))
ORDER BY `controller` ASC
试着这样做:
select *
from test
where 'home.php' not in (action, action_view, action_edit) or parent_id <> 0) and
(action like 'my_action.php' or action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
)
也许你想要这个
select * from test where
(( action like 'my_action.php' or
action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
) AND parent_id !=0)
OR
( action='home.php' OR
action_view='home.php' OR
action_edit='home.php')
ORDER BY `controller` ASC
试试这个:
SELECT * FROM test
WHERE NOT EXISTS ((SELECT A.* FROM test A)
JOIN (SELECT B.* FROM test B WHERE
B.action like 'my_action.php'
OR B.action_edit like '%my_action.php%'
OR B.action_view like '%my_action.php%')
ON A.parent_id !=0)
ORDER BY `controller` ASC
嗨,我终于有办法了
select * from test where
( action like 'my_action.php' or
action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
) AND parent_id !=0 ORDER BY `controller` ASC
而不是家长id=0我用过
和IFaction='home.php'或action\u view='home.php'或action\u edit='home.php',parent=0,parent=0
现在开始工作了,谢谢你们的帮助。我发布了我的答案,因为我认为这将有助于解决类似问题的未来用户:parent\u id=只有当action或action\u edit或action\u view为home.phpHi时,才应执行0行。您的代码工作:,但问题是action,action\u edit或action\u view可以为home.php,我要做的是在action为home.php时忽略父\u id 0,因为homep.hp的parant\u id=0,当我执行此查询时,当action为home.php时,结果为空:/action变量可以为NULL吗?action\u view和action\u edit可以为NULL,action不能为NULL
select * from test where
( action like 'my_action.php' or
action_edit like '%my_action.php%' or
action_view like '%my_action.php%'
) AND parent_id !=0 ORDER BY `controller` ASC