2012-05-28 70 views
0

在我的查询中,我想检查具有指定权限的用户是否存在。目前我正在使用下面的查询。它将检索具有指定条件的授权用户行。格式化mysql查询输出

select a.ixUserAuthorization from tblechecklistuserroleassignmentxref r 
inner join tblechecklistuserrole u on u.ixUserRole=r.ixUserRole and u.sname='Initiator' 
inner join tblechecklistuserauthorization a on a.ixUserAuthorization=r.ixUserAuthorization 
and a.ixcustomer='1'and a.ixprogram='1'and a.ixworkpackage='1'and a.ixactivity='1' and a.ixUser='626e28e8-e67a-4d11-8d2c-129d0ab79e96'; 

如果任何行返回我想要显示的结果为真,如果没有行从上述查询我想要显示的结果为假返回。

如何修改以获得结果为true或false。

+0

?如何计算选择查询结果的行数? –

+1

在结果上使用函数mysql_num_rows() – Uttara

回答

1
SELECT CASE 
     WHEN Count(*) >= 1 THEN 'true' 
     ELSE 'false' 
     END AS Answer 
FROM (SELECT a.ixUserAuthorization 
     FROM tblechecklistuserroleassignmentxref r 
       INNER JOIN tblechecklistuserrole u 
       ON u.ixUserRole = r.ixUserRole 
        AND u.sname = 'Initiator' 
       INNER JOIN tblechecklistuserauthorization a 
       ON a.ixUserAuthorization = r.ixUserAuthorization 
        AND a.ixcustomer = '1' 
        AND a.ixprogram = '1' 
        AND a.ixworkpackage = '1' 
        AND a.ixactivity = '1' 
        AND a.ixUser = '626e28e8-e67a-4d11-8d2c-129d0ab79e96') a 
+0

我得到了所需的结果..仅供参考你能解释为什么'a'最后需要。 –

+1

每个内部Sql都需要提供一个别名,使其成为外部From语句的一部分。 –

1

使用功能mysql_num_rows

例如:

if(mysql_num_rows($result)) 
    echo "true"; 
else 
    echo "false"; 

其中$结果是查询的结果是否计数()可以用来

+1

你怎么知道php是否被使用? – Pablo

+1

以及我的错误 – Uttara