我想知道是否有一種方法在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