亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

sql三個表中查詢去除重復項問題

sql三個表中查詢去除重復項問題

桃花長相依 2018-12-07 00:45:26
create table cate(?id int primary key,?cateName nvarchar(50),?countScore float,--分數?ctime smalldatetime default(getdate())--添加該類別時間)create table kplan(?id int identity(1,1) primary key,?username nvarchar(30) foreign key references Users(username),?cid int? foreign key references cate(id),--類別id外鍵?context text,--內容?ptime nvarchar(12),--幾月份(上中下旬)計劃時間?publishTime smalldatetime default(getdate()),--填寫時間?sIf nvarchar(10) default('未審核')--已審核、未審核)create table kpractice(?id int identity(1,1) primary key,?username nvarchar(30) foreign key references Users(username),?cid int? foreign key references cate(id),--類別id外鍵?practice?? text,,--得分?ptime nvarchar(12)--幾月份(上中下旬)計劃時間?publishTime smalldatetime default(getdate()),--填寫時間)我寫的語句是:select c.id as id,c.cateName as cateName,k.context as context,c.countScore as countScore,p.practice from ((kplan as k inner join cate as c on k.cid=c.id) inner join kpractice as?p on p.cid=c.id) where k.username='張三' and k.ptime='2011年4月上旬' and k.sIf='已審核'得到的結果:id?????? cateName???????????????????????? context? countScore? score1?原有系統常規維護工作是基礎工作? ?aa????????????? 40??????????? ?40 2?新項目建設計劃完成工作?????????????? aa????????????? 40?????????????? 403?其他工作?????????????????????????????????? ?aa????????????? 10?????????????? ?54?學習???????????????????????????????????????? ?aa?????????????? 10??????????????? 51?原有系統常規維護工作是基礎工作?? aa????????????? 40??????????????102?新項目建設計劃完成工作?????????????? aa????????????? 40?????????????? 113?其他工作??????????????????????????????????? aa?????????????? 10????????????? ?104?學習???????????????????????????????????????? ?aa??????????????? 10????????????? 10怎么去除每行的重復項呢?請教高手?
查看完整描述

5 回答

?
茅侃侃

TA貢獻1842條經驗 獲得超22個贊

1,先確定哪里有重復,即你業務對重復的定義。

2,針對有復雜的使用distinct

查看完整回答
反對 回復 2019-01-07
?
四季花海

TA貢獻1811條經驗 獲得超5個贊

distinct

查看完整回答
反對 回復 2019-01-07
?
千萬里不及你

TA貢獻1784條經驗 獲得超9個贊

select distinct c.id as id,c.cateName as cateName,convert(varchar(8000),k.context) as context,c.countScore as countScore,convert(varchar(8000),p.practice) as practice from ((kplan as k inner join cate as c on k.cid=c.id) inner join kpractice as p on p.cid=c.id) where k.username='張玉剛' and k.ptime='2011年4月中旬' and k.sIf='未審核'
這樣出來的效果還是重復的
查看完整回答
反對 回復 2019-01-07
?
DIEA

TA貢獻1820條經驗 獲得超3個贊

用left join 寫SQl語句,不會有重復的了

查看完整回答
反對 回復 2019-01-07
?
飲歌長嘯

TA貢獻1951條經驗 獲得超3個贊

id?????? cateName???????????????????????? context? countScore? score
1?原有系統常規維護工作是基礎工作? ?aa????????????? 40??????????? ?40

2?新項目建設計劃完成工作?????????????? aa????????????? 40?????????????? 40
3?其他工作?????????????????????????????????? ?aa????????????? 10?????????????? ?5
4?學習???????????????????????????????????????? ?aa?????????????? 10??????????????? 5
1?原有系統常規維護工作是基礎工作?? aa????????????? 40??????????????10
2?新項目建設計劃完成工作?????????????? aa????????????? 40?????????????? 11
3?其他工作??????????????????????????????????? aa?????????????? 10????????????? ?10
4?學習???????????????????????????????????????? ?aa??????????????? 10????????????? 10

這是查詢表返回的所有結果?

查看完整回答
反對 回復 2019-01-07
  • 5 回答
  • 0 關注
  • 531 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號