在一个查询中使用And Or

时间:2016-09-27 10:35:40

标签: php mysql

我想在MySQL中使用andor一个查询。

我该怎么做?

我尝试了这个查询,但它没有给我我想要的结果。我做了一些搜索,有人说put()也没用。

select * from tbl_staff where db_user='".$_SESSION['username']."' and 
db_status!='Done' and db_status!='Cancelled' or db_transfered='$name'

我尝试对( )使用方括号and,就像我在这里读到的一些答案一样,但也没有用。此查询还为我提供了已完成和已取消的状态以及我不想要的内容。

像这样的想法我有一张桌子

username transfered status
00021    mhmd         done
00022    mhmd         Running
00021                 Running  

输出将是 最后2行只表示用户00021名称mhmd有1个任务,第二行从用户名00022转移给他也应该出现在00021而没有完成一个

2 个答案:

答案 0 :(得分:2)

你现在解释的是什么: -

Select * FROM tbl_staff WHERE db_status!='Done' AND db_status!='Cancelled' AND (db_user='".$_SESSION['username']."'  OR db_transfered='$name')

答案 1 :(得分:0)

我很困惑你真正想要的东西,我认为你的查询应该是

select * from tbl_staff where 
         db_user='".$_SESSION['username']."' AND 
         (db_status!='Done' AND db_status!='Cancelled') 
         AND db_transfered='$name';