如何找出2個table之不同資料 之SQL語法? |
尚未結案
|
vivaviva001
一般會員 發表:3 回覆:3 積分:1 註冊:2009-03-06 發送簡訊給我 |
如何找出2個table之不同資料差異之SQL語法?
例 table A 有fieldname 叫 車牌 , 同樣 table B 有fieldname 叫 車牌 Table A Table B 車牌 車牌 ----------------- -------------------- 123 123 456 444 789 555 如何找出 table B 沒有 Table A 之 456及 789 ? 另外如何找出 table A 沒有 Table B 之 444及 555 ? 另外如何找出 table A 及 Table B 之相同值 123 ? 請問大家sql語法點寫呢? thx |
frappe
中階會員 發表:88 回覆:114 積分:95 註冊:2008-10-21 發送簡訊給我 |
select b.車牌 from TableB b where not exists (select a.車牌 from TableA a)
===================引 用 vivaviva001 文 章=================== 如何找出2個table之不同資料差異之SQL語法? 例 table A 有fieldname 叫 車牌 , 同樣 table B 有fieldname 叫 車牌 Table A Table B 車牌 車牌 ----------------- -------------------- 123 123 456 444 789 555 如何找出 table B 沒有 Table A 之 456及 789 ? 另外如何找出 table A 沒有 Table B 之 444及 555 ? 另外如何找出 table A 及 Table B 之相同值 123 ? 請問大家sql語法點寫呢? thx |
vivaviva001
一般會員 發表:3 回覆:3 積分:1 註冊:2009-03-06 發送簡訊給我 |
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
例 table A 有fieldname 叫 車牌 , 同樣 table B 有fieldname 叫 車牌
Table A Table B 車牌 車牌 ----------------- -------------------- 123 123 456 444 789 555 如何找出 table B 沒有 Table A 之 456及 789 ? select 車牌 from table_a where 車牌 not in (select 車牌 from table_b) 另外如何找出 table A 沒有 Table B 之 444及 555 ? select 車牌 from table_b where 車牌 not in (select 車牌 from table_a) 另外如何找出 table A 及 Table B 之相同值 123 ? select 車牌 from table_a where 車牌 in (select 車牌 from table_b) 或 select 車牌 from table_b where 車牌 in (select 車牌 from table_a) 或 select a.車牌 from table_a a, table_b b where a.車牌=b.車牌 參考一下 ( 有時 不同 db engine 對同一個語法會有不一樣的結果, 以後和 db 有關的問題請先說明使用的 db 為何, 謝謝啦)
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
vivaviva001
一般會員 發表:3 回覆:3 積分:1 註冊:2009-03-06 發送簡訊給我 |
|
vivaviva001
一般會員 發表:3 回覆:3 積分:1 註冊:2009-03-06 發送簡訊給我 |
not work in mysql
===================引 用 st33chen 文 章=================== 例 table A 有fieldname 叫 車牌 , 同樣 table B 有fieldname 叫 車牌 Table A Table B 車牌 車牌 ----------------- -------------------- 123 123 456 444 789 555 如何找出 table B 沒有 Table A 之 456及 789 ? select 車牌 from table_a where 車牌 not in (select 車牌 from table_b) 另外如何找出 table A 沒有 Table B 之 444及 555 ? select 車牌 from table_b where 車牌 not in (select 車牌 from table_a) 另外如何找出 table A 及 Table B 之相同值 123 ? select 車牌 from table_a where 車牌 in (select 車牌 from table_b) 或 select 車牌 from table_b where 車牌 in (select 車牌 from table_a) 或 select a.車牌 from table_a a, table_b b where a.車牌=b.車牌 參考一下 ( 有時 不同 db engine 對同一個語法會有不一樣的結果, 以後和 db 有關的問題請先說明使用的 db 為何, 謝謝啦) |
AndrewK
高階會員 發表:6 回覆:151 積分:161 註冊:2006-10-09 發送簡訊給我 |
看點文章、看點書吧
http://linux.tnc.edu.tw/techdoc/mysql/mysql_doc/manual_Compatibility.html#Missing_Sub-selects 以上網址有提供資訊給你
------
Just Do It ------------------------- 其實男生不是真的喜歡你不減肥,而是喜歡你愛吃還不肥;也不是真的喜歡你不化妝,而是喜歡你素顏也好看;也不是真的喜歡你瘦,而是喜歡你瘦卻有胸;也不是真喜歡你獨立,而是他忙的時候別煩他。女孩子,太認真你就輸了。
編輯記錄
AndrewK 重新編輯於 2009-03-07 20:53:44, 註解 無‧
|
st33chen
尊榮會員 發表:15 回覆:591 積分:1201 註冊:2005-09-30 發送簡訊給我 |
不知道您說不行是下什麼命令的結果
我特別再確認一次, 在 mysql 6.0.4 及 5.0.67 下 都可以使用 in (select ... ) 或 not in (select ...) 請說明 1. mysql 版本 2. 您的 tablename 及其 結構, 3. 您下的 sql 命令及其錯誤訊息 說實在, 單單說 not work 實在沒有提供任何訊息來讓人幫助您. 又 請注意一下, 我提供的語法把 TABLE A 改成 table_a, 如果您直接使用沒修改成您的 tablename 那一定不行. 另外, 中文 欄位名稱會不會造成問題呢? 請先建一個 英文名的table, 所有欄位名皆為英文的簡單資料表試一下語法.
------
IS IT WHAT IT IS 我是 李慕白 請倒著唸. 又想把老話拿出來說, 請用台語發音 : 專家專家全是ROBOT CAR (滷肉腳啦); 都已接手這麼久了, 績效還是那麼爛, 講話還那麼大聲. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |