![](/img/trans.png)
[英]SQL Server Merge with two tables from different azure SQL Database from same Azure SQL SERVER
[英]SQL Server cursor to pull data from different tables and merge the same lines
我正在使用 SQL Server 2014。
学生数据库:
notlar
(@vize, @ders_id, @ogrenci_id)ogrenciler
(@id, @isim)dersler
(@ders_adi,@ders_id)带有光标的学生签证备注形式的表格和列,课程名称中列出了课程。
输出如下:
Select
o1.adi , n1.vize, d1.ders_adi
from
ogrenci o1, notlar n1, dersler d1
where
o1.Ogr_ID = n1.Ogr_ID
and convert(varchar(22), n1.Ders_Kod) = convert(varchar(22), d1.Ders_Kod)
order by
adi
DECLARE @adi NVARCHAR(MAX), @vize NVARCHAR(MAX), @ders NVARCHAR(MAX)
DECLARE CRS_bolumler CURSOR FOR
SELECT
o1.adi , n1.vize, d1.ders_adi
FROM
ogrenci o1, notlar n1, dersler d1
WHERE
o1.Ogr_ID = n1.Ogr_ID
AND CONVERT(VARCHAR(22), n1.Ders_Kod) = CONVERT(VARCHAR(22), d1.Ders_Kod)
ORDER BY
adi
OPEN CRS_bolumler
FETCH NEXT FROM CRS_bolumler INTO @adi, @vize, @ders
WHILE @@FETCH_STATUS =0
BEGIN
PRINT @adi + ',' + @vize + ',' + @ders
FETCH NEXT FROM CRS_bolumler INTO @adi, @vize,@ders
END
CLOSE CRS_bolumler
DEALLOCATE CRS_bolumler
留言:
{Ali,60,Bilg. Müh. Giriş
Ali,50,Alg ve Prog-I
Ali,40,Matematik-I
Betül,30,Bilg. Müh. Giriş
Betül,30,Alg ve Prog-I
Betül,20,Matematik-I
Bilal,70,Bilg. Müh. Giriş
Bilal,80,Alg ve Prog-I
Bilal,90,Matematik-I
Feyza,80,Bilg. Müh. Giriş
Feyza,60,Alg ve Prog-I
Feyza,40,Matematik-I
Leyla,20,Bilg. Müh. Giriş
Leyla,30,Alg ve Prog-I
Leyla,20,Matematik-I }
我要打印出来。 我的请求是获取同名学生的签证名和课程名如下:
{Ali,60,Bilg. Müh. Giriş ,50,Alg ve Prog-I ,40,Matematik-I
Betül,30,Bilg. Müh. Giriş ,30,Alg ve Prog-I ,20,Matematik-I
Bilal,70,Bilg. Müh. Giriş ,80,Alg ve Prog-I ,90,Matematik-I
Feyza,80,Bilg. Müh. Giriş ,60,Alg ve Prog-I ,40,Matematik-I
Leyla,20,Bilg. Müh. Giriş,30,Alg ve Prog-I ,20,Matematik-I }
问题的解决方法:
select o.isim,
stuff((
select ', ' + ltrim(str(n.vize)) + ', ' + d.ders_adi
from notlar n
inner join dersler d on n.ders_id = d.ders_id
where n.ogrenci_id = o.id
FOR XML PATH('')
), 1, 2, '') as vizeler
from ogrenciler o;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.