[SQL ] mysql如何篩選出兩個搜尋結果中不同的資料

看板Database (資料庫)作者 (あいぼんFOREVER)時間18年前 (2007/01/12 18:05), 編輯推噓0(003)
留言3則, 1人參與, 最新討論串1/2 (看更多)
※ [本文轉錄自 PHP 看板] 我現在想要做到的功能是將兩個搜尋結果中不同的資料挑出來 不過試了很久還是找不到方法,所以特此請教各位先進。 目前我有兩個搜尋,搜尋出的資料欄位型態是一樣的, 不過條件有所差異,我的目的就是要列出這兩個搜尋找出的不同資料, 示意如下: 第一個搜尋出來的結果是 a.A b.B b.C ------------ 001 名稱A xxx 002 名稱B xxx 003 名稱C xxx 第二個搜尋出來的結果 b.A b.B b.C ------------ 001 名稱A xxx 003 名稱C xxx 但我只想要列出兩者之間不相同的資料, 也就是 A B C ------------ 002 名稱B xxx 但不知道該從何下手, 也因為兩個搜尋的A欄位並不是同一個table的欄位, 所以我試著用JOIN去作好像有點問題, 也有想過先將兩個搜尋分別執行再篩選, 但不知道該如何用php語法做到理想的效果, 希望有先進能夠不吝指導,謝謝各位。 兩段搜尋的語法詳細如下: $sql_1="SELECT SD_ID,SC_NAME,SC_MONEY FROM space_data,space_category WHERE space_data.SC_ID='$SC_ID' AND space_category.SC_ID='$SC_ID'"; $sql_2_del=" SELECT space_borrow.SD_ID,space_category.SC_NAME,space_category.SC_MONEY FROM space_borrow,space_data,space_category WHERE space_data.SC_ID='$SC_ID' AND space_category.SC_ID='$SC_ID' AND space_borrow.SD_ID=space_data.SD_ID AND space_borrow.SB_DATE='$SB_DATE' AND space_borrow.SB_TIME='$SB_TIME'"; 先謝過各位了。 <(_"_)> -- ◢█  ◢█◣ ◢◣◢  ◢█◣ ◢█ ◢█ ◣◢ ██◢██◣╱ ◢██◣╱ ██ ██ ████████ ██ ███ ██ ██ ██████████ ████ ███◣╱ ██████ ████◥█ ██ ██◥█ ◥██◤  █◥█◤ ══ ㊣花˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙的㊣ ══ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.74.187.51 ※ 編輯: Hanakun 來自: 211.74.187.51 (01/12 18:06)

01/12 22:13, , 1F
問題已經自行解決了 方法是把這兩個搜尋個別建view
01/12 22:13, 1F

01/12 22:13, , 2F
然後再去對這兩個view以LEFT JOIN方式找出非共有的資料
01/12 22:13, 2F

01/12 22:13, , 3F
原本用MINUS就可以做到的功能 只可惜MySQL就是不支援...
01/12 22:13, 3F
※ 編輯: Hanakun 來自: 211.74.187.51 (01/12 22:16)
文章代碼(AID): #15frrzIR (Database)
文章代碼(AID): #15frrzIR (Database)