Re: [問題] mysql不支援contains,exist語法的問題
※ 引述《gohiei (真是無聊的...)》之銘言:
: ※ 引述《MLP2006 (MLP)》之銘言:
: : 假設
: : 有下面四個Relation Schema
: : 供應商(供應商代號,供應商名稱)
: : 計畫(計畫代號,計畫名稱)
: : 零件(零件代號,零件名稱)
: : 供應(供應商代號,計畫代號,零件代號,數量)
: : 要找出有提供零件給每一個計畫的供應商
: : 但MySQL又不支援contains,exist語法
: : 請問用MySQL要怎麼下查詢?
: : thanks.
: Select * From 供應商
: Where Not Exists(
: Select 1 From 計畫 Left Join
^似乎有誤,我改成*
: ( Select 計畫代號 From 供應 Where 供應.供應商代號 = 供應商.供應商代號 ) a
: On a.計畫代號 = 計畫.計畫代號
: Where isnull(a.計畫代號)
: );
: 測試看看吧!
邏輯跟我想的一樣
就是先取一個temporary table,找出每一個供應商提供的計畫
然後把計畫和這個temporary table 做left join
如果結果沒有產生Null行
表示這個供應商提供零件給所有的計畫
但是答案跑出來是錯誤的 ><
結果會列出所有的供應商
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 218.167.202.212
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章