我想知道是否有一种方法在MySQL中检查查询是否产生了一些结果,如果没有执行查询。
实施例:检查是否没有结果与mysql
(SELECT * FROM table WHERE id=2) IF NO RESULT (SELECT * FROM table WHERE id=4)
EDIT
我只需要一个查询,基本上第一I检查是否存在与PARAM(例如状态= 0),如果没有结果,我想的结果使用param更改为status = 2执行相同的查询。
希望它可以帮助
更多修改
基本上我有operatorators和部门表,另一个与所有的用户,我首先检查是否有在第一台可用的运营商,它不是放假了,如果没有结果,我将L选择,并从第二个表管理,但前提是没有运营商availbable
MORE MORE编辑
这是否有运营商提供,但是它不查询检查不选择管理员
query = "SELECT b.id
FROM ".$SupportUserTable." b
INNER JOIN ".$SupportUserPerDepaTable." a
ON b.id=a.user_id
WHERE a.department_id=? AND b.holiday='0' AND a.user_id!=".$_SESSION['id']."
ORDER BY b.assigned_tickets,b.solved_tickets ASC LIMIT 1";
最新的解决方案
这不正是我一直在寻找,但它的作品,我愿意改进措施,以避免两个查询的执行:
$query = "SELECT *
FROM(
(SELECT b.id
FROM ".$SupportUserTable." b
INNER JOIN ".$SupportUserPerDepaTable." a
ON b.id=a.user_id
WHERE a.department_id=? AND b.holiday='0' AND a.user_id!=".$_SESSION['id']."
ORDER BY b.assigned_tickets,b.solved_tickets ASC LIMIT 1)
UNION
(SELECT id
FROM ".$SupportUserTable."
WHERE status='2' AND id!=".$_SESSION['id']."
ORDER BY assigned_tickets,solved_tickets ASC LIMIT 1)
) tab
LIMIT 1
";
http://stackoverflow.com/questions/1175217/sql-server-if-not-exists-usage – DarkBee
有时这种问题指向糟糕的设计。 – Strawberry
@Strawberry餐桌设计?因为这是我能想到的最好的,用户可以分配到多个部门,所以我决定创建一个不同的表(用户和每个部门的用户),第一个跟踪用户状态(操作员,用户或管理员)和假期和第二个用户相关部门,我认为添加管理员到第二个表是不利的,因为如果我添加一个新部门,我也要添加每个管理员。如果您有任何建议,我会很乐意倾听 – Razorphyn