中易网

sql一对多关系查询

答案:3  悬赏:0  
解决时间 2021-02-15 17:45
sql一对多关系查询
最佳答案
CREATE TABLE #C (cid int, id int,value varchar(2))
INSERT #C SELECt 1, 1,'a'
UNIOn ALL SELECT 2, 1,'d'
UNIOn ALL SELECT 3, 2,'a'
UNIOn ALL SELECT 4, 2,'b'
UNIOn ALL SELECT 5, 3,'c'

CREATE TABLE #A (id int, name varchar(2),age int)
INSERT #A SELECT 1, 'de',33
UNIOn ALL SELECT 2, 'ac',34
UNIOn ALL SELECT 3, 'ea',35


-- 查询处理
SELECT #A.*,T1.cid,T1.value FROM #A INNER JOIN (
SELECt *
FROM(
SELECt DISTINCT 
id
FROM #C
)A
OUTER APPLY(
SELECt 
[cid]= STUFF(REPLACE(REPLACE(
(
SELECT cid FROM #C N
WHERe id = A.id
FOR XML AUTO
), '', ''), 1, 1, '')
)N
OUTER APPLY(
SELECt 
[value]= STUFF(REPLACE(REPLACE(
(
SELECT value FROM #C N
WHERe id = A.id
FOR XML AUTO
), '', ''), 1, 1, '')
)d
)T1 ON #A.id=T1.id

DROP TABLE #A
drop table #C
-------------------------
id name age cid value
1 de 33 1,2 a,d
2 ac 34 3,4 a,b
3 ea 35 5 c
全部回答
数据插入 insert into b(aid,bvalue) select 3,'bvalue' from a where a.id=3 解释:select 3,'bvalue' from a where a.id=3 3=我们向B表中插入的aid的值 bvalue=我们向B表中插入的bvalue的值 使用where 语句判断主表(A表)是否拥有ID为3的数据 数据查询 select a.avalue,b.aid ,b.bvalue from a left join b on b.aid=a.id SELECt t1.id,t2.id,t3.id FROM t1,( t2 LEFT JOIN t3 ON (t3.id=t1.id) ) WHERe t1.id=t2.id;
select a.id, a.name, a.age, wm_concat(c.cid) cid, wm_concat(c.value) value from a left join c on a.id = c.id group by a.id, a.name, a.age
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
3.7V电池充完电后,突然开不了机
他特别感性,是啥意思
自从加了92号汽油,动力变差油耗增高,什么原
职业规划遇到问题了,职街网的职业规划报告虽
半径为R的光滑圆环上套有质量m为的小环当圆环
昆明琦琦玩具商贸有限公司地址在什么地方,想
求一段骂人的话,越毒越好,越庸俗越好!最好
海关预录入
能在大学直接考注册会计师么?
东兴五金交电经营部在什么地方啊,我要过去处
牛岭地址在什么地方,想过去办事
莱西姜山本人想光伏发电在自己屋顶上投资5万
长沙东屯渡压面机厂这个地址在什么地方,我要
想去三亚旅游,住大东海可以吗?说下一两家性
竹炭花生吃了有什么作用啊?
推荐资讯
想做一个MC34063做个6V升12V10A的升压器,谁
我的QQ漂流瓶被举报了,那人先骂的之后就吵起
新亚轴承总汇我想知道这个在什么地方
普通腹部B超和监测卵泡的B超不一样么?
国家控股所占比重比法人股多多少?是说多50个
玻尿酸丰太阳穴和下巴后忌口哪些?忌口多长时
我真好烦,我谈了个女朋友两个到了谈结婚的时
荣成市泓泰渔业有限公司在什么地方啊,我要过
求吹雪士郎角色歌的罗马音
兰溪市云山街道社区卫生服务中心这个地址在什
linux 使用两个jdk,tomcat6用jdk1.6 tomcat7
100用英语怎么拼
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?