1樓:
select distinct t1.*
from tablea t1,tablea t2where t1.id=t2.id
and (t1.col1<>t2.col1 or t1.col2<>t2.col2)
2樓:
問題就有錯,a 主鍵id相同,根本不可能。
或者說你的資料表,用兩個欄位作主鍵,
查詢兩個相同表中不同記錄,這樣的sql語句怎麼寫
3樓:懿灬芫
可以用求非交集的辦法獲取這些記錄,寫法可以多種多樣,具體要視表結構和比對要求而定。
假設a、b兩表結構一樣,選出兩張表中id欄位互不相同的記錄
select * from a where not exists
(select 1 from b where b.id=a.id)
union all
select * from b where not exists
(select 1 from a where a.id=b.id);
說明:第一個子查詢選出a表中未出現於b表裡的記錄;第二個子查詢選出b表中未出現於a表裡的記錄。兩者合併即為互不相同的記錄。
結構化查詢語言(structured query language)簡稱sql(發音:/ˈes kjuː ˈel/ "s-q-l"),是一種特殊目的的程式語言,是一種資料庫查詢和程式設計語言,用於存取資料以及查詢、更新和管理關聯式資料庫系統;同時也是資料庫指令碼檔案的副檔名。
結構化查詢語言是高階的非過程化程式語言,允許使用者在高層資料結構上工作。它不要求使用者指定對資料的存放方法,也不需要使用者瞭解具體的資料存放方式,所以具有完全不同底層結構的不同資料庫系統, 可以使用相同的結構化查詢語言作為資料輸入與管理的介面。結構化查詢語言語句可以巢狀,這使它具有極大的靈活性和強大的功能。
mysql資料庫完全相同的兩個表,所存資料不同,合併時由於主鍵id重複,無法合併,請問如何處理?
4樓:小童鞋_成
-- 我來用集合查詢給你合併
create table 表名 as (select * from 表名1 union select * from 表名2)
sql語句查詢出的兩行資料除了主鍵其他都一樣,怎麼去掉重複資料 5
5樓:萬能導師
1、首先建立一個百位表,並在該表中插入重複的記錄,如下圖所示。
2.在插入之後,我們可以看到表中有重複的度數資料,如下圖所示。
3.接下來,我們必須記住在刪除之前要備份,如下圖所示。
4.可以使用不同的欄位設定排除重複的記錄,如下圖所示,然後將重複資料插入新表中。
5.然後,您將在資料表下看到一個新構建的表,如下圖所示。
6.最後,開啟新表,可以看到沒有重複的資料,如下圖所示。
6樓:
這用的著去重麼? 你主鍵都不一樣,那肯定是兩條資料了,即使後面資料全一樣也不用去重了,否則你的主鍵設定就是有問題的.
7樓:匿名使用者
select * from 表名 where 主鍵 in (select a.主鍵 from 表 a, 表b where a.主鍵》b.主鍵
and rtrim(a.非主鍵欄位)=rtrim(b.非主鍵欄位));
注:a.非主鍵欄位和b.非主鍵欄位要相同
8樓:我又強力了
根據出來主鍵之外的列分組
9樓:
表test 有欄位
id,a
select distinct a from test
10樓:螢飛
用關鍵字distinct ,就可以解決了。
sql查詢資料庫,某個欄位不同,其他相同,只保留一個記錄。具體看問題補充
11樓:
可以這樣寫
select distinct id , name , max(yy) from a
group by id , name
取id和name相同的最大yy,這樣就只保留一條記錄。
12樓:匿名使用者
select id,name,max(yy)
from 表
group by id,name
13樓:匿名使用者
select distinct t.id,t.name,t.
yy fromm tablename t,tablename t1 where t.yy<>t1.yy and t.
id = t1.id and t.name = t1.
name
兩個資料庫中各有一張資料結構、欄位相同的表,但表的資料記錄略有不同,怎樣比較出重複資料並顯示?
14樓:
use db_a
select distinct * from(select * from test where exists (select * from db_b.test)) into temp;
delete from test;
select * from temp into test;
drop table temp;
思路應該就是這樣,沒測試。如果需要j經常進行這樣的操作,可以把上面的語句放在一個儲存過程過程中,需要的時候可以隨時執行了。
15樓:匿名使用者
我有些小小的問題哈,既然你的最終目的是兩庫同步,那麼直接把兩庫合併union all不就行了?另外是不是隻是b庫的資料比a庫多(因為id,name,bm重複造成),a庫不會比b庫多?如果b庫的同一個id,name,bm組合有重複記錄,而xb,zz內容又不相同,怎麼取捨?
忘了最重要的一個問題,是什麼資料庫?俺只會oracle,別的只能講原理,不會寫語句。
16樓:
辦法有2,
1、跨庫查詢
2、將一個庫中的資料匯出,再倒入到另一個庫,然後再做查詢。
17樓:夕梅靳雀
如果quotationart表沒有定義主鍵,那麼你可以利用建立臨時表來儲存,寫法如下:
select
distinct
seq,
art_no,
quotation
into
quotationart_tmp fromquotationart
資料庫刪除內容重複的行(除主鍵id之外其他列值都相同)
18樓:
如果id沒有和其他表關聯 那就select distinct 其他欄位到臨時表 然後刪除原表 把臨時表的記錄insert進來就可以
19樓:康熙轉世
delete from table_name
where id not in (select max(id) from table_name group by column_name1,column_name2,column_name3。。。。。。)
其他列都group by出來就行了
資料庫表中有10條資料,除了主鍵id不同,其餘資料完全相同,怎樣用一條sql語句刪除其中的9條資料,即去重
20樓:匿名使用者
select * from 表 where id in (select min(id) from 表 group by 欄位1,欄位2,欄位3)
欄位1,欄位2,欄位3這個地方,你需要把其他欄位一起都group by了
21樓:轉520角
假如這10條中有一條的id是1,其餘的不管,那麼這樣 delete from table_name where id <> 1;
22樓:
像這樣:select distinct t,s from table;distinct的時候不要把id帶出來
23樓:lr這樣
select id, count(distinct name) from 表名 group by id (name 為其他列中的一個)
試試看,行就採納。 謝謝
24樓:匿名使用者
delete from table where id in (select top 9 id from table)
求sql資料庫考試題答案,SQL資料庫考試試題,求高手解答
1.create database readbookon name readbook data,filename d server readbook data.mdf size 2mb,maxsize 10mb,filegrowth 1mb log on name readbook log,file...
資料庫sql這樣怎麼辦,SQL資料庫太大怎麼辦
解決方法步驟如下 1 首先開啟sqlserver management studio,登入身份選擇windows身份驗證,點選連線。2 進入管理器中,選擇資料庫,右鍵,在彈出的選單選擇 附加 如圖所示,選擇要附加的檔案後,點選附加,如果沒有報錯,則完成附加,否則,需要接下來的資料修復。3 報錯,附加...
求刪除SQL資料庫中某個表的重複資料
1.先將umane用一個臨時表存起來 select distinct uname uname into a form users 2.刪除users表內的資料 delete from users 3.把臨時表使用者加到users表中,並將預設upwd全設為1234要看你upwd是什麼資料型別 如果是...