2012-10-14 31 views
-1

我有3個表:手機,phones_state和國家如何從數據庫表中獲取結果?

電話:

+------------------+ 
| phone_id | model | 
+----------+-------+ 
| 1  | mot | 
| 2  | sam | 
+----------+-------+ 

phones_state:

+---------------------+ 
| phone_id | state_id | 
+----------+----------+ 
| 2  | 1  | 
| 2  | 3  | 
| 2  | 5  | 
| 1  | 1  | 
+----------+----------+ 

狀態:

+------------------+ 
| state_id | name | 
+----------+-------+ 
| 1  | rec | 
| 2  | notre | 
| 3  | res | 
| 4  | wait | 
| 5  | back | 
+----------+-------+ 

我想獲得處於狀態1而不處於狀態5的所有電話 如何在mysql查詢中執行此操作?

+1

Boiculese Iuli - 努力寫出更好的格式化問題,並關注您之前的問題,並花時間接受正確的答案。不僅你會爲stackoverflow做出貢獻,而且還會增加獲得良好答案的機會。 –

回答

2
select p.phone_id 
from phones p 
inner join phones_state ps on ps.phone_id = p.phone_id 
group by p.phone_id 
having sum(ps.state_id = 1) >= 1 and sum(ps.state_id = 5) = 0 
+0

謝謝juergen..it的工作 –

相關問題