--主表不同資料
select * from [bd]..taba where tabaid not in (select tabaid from [fwq]..taba);
--子表不同資料
select b.* from [bd]..tabb b join [bd]..taba a on a.tabaid=b.tabaid where a.tabaid not in (select tabaid from [fwq]..taba));
--從本地同步到伺服器 本地庫名:bd 伺服器庫名:fwq 主表:taba 子表:tabb
declare @i int=0; --迴圈初始值
declare @j int=0; --迴圈總記錄數
declare @tabaid int=0; --主表主鍵
declare @newtabaid int=0; --插入後生成的主鍵
select @j = count(1) from [bd]..taba where tabaid not in (select tabaid from [fwq]..taba);
--獲取最大的一條主表記錄
select top 1 @tabaid = tabaid from [bd]..taba where tabaid not in (select tabaid from [fwq]..taba) order by tabaid desc;
while @i<@j
begin
--插入主表不同資料
insert into [fwq]..taba (tabaname,tabaorder)
select tabaname,tabaorder from [bd]..taba where tabaid = @tabaid;
--返回主表主鍵
select @newtabaid = @@identity;
--輸出新舊主鍵
select @tabaid 原主鍵,@newtabaid 新主鍵
--根據主表主鍵,插入子表資料
insert into [fwq]..tabb (tabaid,tabbname,tabborder)
select @newtabaid,tabbname,tabborder from [bd]..tabb where tabaid = @tabaid;
--獲取下一條主表記錄(<@tabaid)
select top 1 @tabaid = tabaid from [bd]..taba where tabaid not in (select tabaid from [fwq]..taba) and tabaid < @tabaid order by tabaid desc
set @i=@i+1
end;
SQL查詢主表資料和子表部分資料統計
查詢 子表中,不同的型別統計,主表 幾千條,子表60萬資料,下面查詢花了 40秒。select su.select count from dtl e where e.check stat eq and e.batch no su.batch no eq,select count from dtl w...
raw contact子表資料查詢
raw contact子表的查詢很有意思。raw contact子表有很多。主要的有 android.provider.contactscontract.commondatakinds.structuredname android.provider.contactscontract.commonda...
跟我學SQL 七 從子表裡刪除資料
在這篇文章裡我要描述一下如何從 裡刪除列,要刪除的這些列同時還要依賴於其他 的標準。要解決這個問題就需要乙個很聰明而且完全遵守sql92子查詢宣告的應用程式。我必須提醒讀者的是,儘管查詢可能會遵守sql的標準,但是眾多的資料庫生產商會以不同的句法支援實現sql。以下這個解決方案應該適合於大多數資料庫...