我是初學者在SQL世界,並希望我maged把正確的問題陳述。 好吧,我的問題是如何創建一個互斥的mysql查詢結果是基於條件。 例如:表 EMP要麼或選擇在一個單一的SQL查詢
----------
id name
---------
1 tom
2 dik
3 harry
4 mike
5 john
如果問「john」的選擇應該給約翰的唯一記錄,如果沒有找到約翰然後給所有剩餘的記錄。
我在努力想象如何排他性工作。 我的嘗試是:
select case
when if exists select 1 from emp where emp_name = 'john'
then select emp_name from emp where emp_name = 'john'
else select emp_name from emp
end;
SELECT COALESCE(select emp_name from emp where emp_name = 'john',select emp_name from emp)
select distinct(e.emp_name) from emp e left outer join emp f where e.emp_name = 'john' OR e.emp_name = f.emp_name;
ofcourse他們都不工作.. 我的問題 :如何處理這一問題? :我們可以建立如果然後在sqls?將逐行或過濾結果工作? :如果這已經在任何地方得到解答,會很高興有鏈接。
什麼是 「剩下的所有記錄」 是什麼意思?獲取所有記錄? – ysth
@jalal嘗試創建存儲過程,並且您將在此存儲過程中編寫2個簡單的select查詢。首先,檢查John存在多少條記錄,然後檢查條件是否存在記錄,然後返回記錄,否則返回另一個選擇查詢以返回所有記錄。 – KlwntSingh
@ysth,它表示不是'約翰'的記錄... –