2011-04-21 21 views
0

中沒有對應的記錄,我使用的是MySQL數據庫和我的表結構,如:如何獲取mysql中

+---------------+----------------+-------------------+ 
| leave_type_id | leave_type  | leave_type_org_id | 
+---------------+----------------+-------------------+ 
|   23 | Casual Leave |    33 | 
|   24 | Earn Leave  |     0 | 
|   33 | Sick Leave  |     0 | 
|   34 | CL Leave  |     0 | 
|   35 | PL LEAVE  |    23 | 
|   42 | EL LEAVE  |     0 | 
+---------------+----------------+-------------------+ 

,我想只獲取從我的表leave_type中沒有對應的記錄,它的意思是leave_type_id不存在於像(24,34,35,42)plz這樣的leave_type_org_id內,請儘快向我發送查詢。 謝謝。

+0

這是不正確的格式化,和畸形的問題。你可以用「代碼」標籤格式化,以便我們可以閱讀這個? – ohmusama 2011-04-21 07:50:16

+0

嘿,我不知道如何格式化堆棧流可以給我的提示plz – subodh 2011-04-21 07:57:38

回答

2

你可以做在同一個表加入這樣

select t1.* 
from table t1 
left join table t2 
on t1.leave_type= t2.leave_type_org_id 
where t2.leave_type_org_id is null 

OR

隨着子查詢

select * from table 
where leave_type_id not in 
(
    select leave_type_org_id from table 
) 
+0

嘿巴迪我沒有多個表是單個表,所以我們不需要在這裏申請加入。 – subodh 2011-04-21 07:58:35

+0

@subodh:連接可以應用在單個表上,在上面的查詢中只有單個表。上述條件要麼需要連接要麼子查詢。嘗試以上查詢 – 2011-04-21 08:00:24

+0

嘿,我不知道爲什麼上面的查詢不工作,但在子查詢的地方,如果我把任何靜態值,那麼它會正常工作。還有一個一個的查詢工作正常。 – subodh 2011-04-21 08:15:34