如何在SQL Server中多次检索行?
发布时间:2020-05-24 17:26:38 所属栏目:MsSql 来源:互联网
导读:这些是我最初检索到的行: 112 Cem Ceminay210 Ali Salih132 Gül Sen 现在我想将每一行复制为3行.所以新结果: 112 Cem Ceminay112 Cem Ceminay112 Cem Ceminay210 Ali Salih210 Ali Salih210 Ali Sali
|
这些是我最初检索到的行: 112 Cem Ceminay 210 Ali Salih 132 Gül Sen 现在我想将每一行复制为3行.所以新结果: 112 Cem Ceminay 112 Cem Ceminay 112 Cem Ceminay 210 Ali Salih 210 Ali Salih 210 Ali Salih 132 Gül Sen 132 Gül Sen 132 Gül Sen 什么样的选择声明可以帮助我? 示例select语句: SELECT id,name,surname FROM people; 谢谢可爱的人…… PS:我的查询: SELECT
Faturalar.faturaNo,Klinikler.SAPSirketKodu [COMPANY CODE],Klinikler.SAPBussinessArea [BUSINESS AREA],BasilmisFaturalar.basilmisFatura_id [REFERENCE],BasilmisFaturalar.duzenlemeTarihi [DOCUMENT DATE],BasilmisFaturalar.duzenlemeTarihi [BASELINE DATE],Kurumlar.sapKodu [ACCOUNT],Kurumlar.kurumAdi + ' adna '+Faturalar.faturaNo+' nolu fatura' [TEXT],BasilmisFaturalar.kdvDahilToplamTutar [AMOUNT],BasilmisFaturalar.kdvHaricToplamTutar,(BasilmisFaturalar.kdvDahilToplamTutar-BasilmisFaturalar.kdvHaricToplamTutar) AS kdvTutari,CASE
WHEN BasilmisFaturalar.kdvOrani = 0 THEN 'A0'
WHEN BasilmisFaturalar.kdvOrani = 8 THEN '2H'
WHEN BasilmisFaturalar.kdvOrani = 18 THEN '3H'
END [TAX CODE],Klinikler.profitCenter [COST CENTER/PROFIT CENTER]
FROM Faturalar
-- Fatura yazdrlm olmal
INNER JOIN BasilmisFaturalar ON BasilmisFaturalar.basilmisFatura_id = Faturalar.refBasilmisFatura_id
-- Yazdrlm fatura iptal edilmemi olmal
INNER JOIN BasiliFaturaIptalTalepleri ON BasiliFaturaIptalTalepleri.refBasilmisFatura_id <> BasilmisFaturalar.basilmisFatura_id
-- Fatura Kurum Detaylarndan KURUM bilgilerine
INNER JOIN KurumFaturaDetaylari ON KurumFaturaDetaylari.kurumFaturaDetay_id = BasilmisFaturalar.refKurumFaturaDetay_id
-- Faturann kesildii kurum
INNER JOIN Kurumlar ON Kurumlar.kurum_id = dbo.KurumFaturaDetaylari.refKurum_id
-- Seanslar üzerinden Klinik bilgilerine bylece SAPcc,SAPba,ProfitCenter a ulayoruz
INNER JOIN Seanslar ON Seanslar.refFatura_id = Faturalar.fatura_id
INNER JOIN dbo.Klinikler ON dbo.Klinikler.klinik_id = Seanslar.refKlinik_id
-- Belirli bir düzenleme tarihi aralnda olmal
WHERE BasilmisFaturalar.duzenlemeTarihi BETWEEN DATEADD(m,-1,GETDATE()) AND GETDATE()
GROUP BY Faturalar.faturaNo,BasilmisFaturalar.basilmisFatura_id,kdvDahilToplamTutar,kdvHaricToplamTutar,BasilmisFaturalar.kdvOrani,BasilmisFaturalar.duzenlemeTarihi,Kurumlar.sapKodu,Klinikler.SAPBussinessArea,Klinikler.SAPSirketKodu,Klinikler.profitCenter,Kurumlar.kurumAdi
解决方法为了帮助解释: Cartesian product/cross join背景SELECT
people.id,people.name,people.surname
FROM
people
CROSS JOIN
(SELECT 1 AS foo UNION ALL SELECT 2 UNION ALL SELECT 3) bar;
在其他地方评论了7个表和42行 SELECT
Singles.*
FROM
(
SELECT
Faturalar.faturaNo,CASE
WHEN BasilmisFaturalar.kdvOrani = 0 THEN 'A0'
WHEN BasilmisFaturalar.kdvOrani = 8 THEN '2H'
WHEN BasilmisFaturalar.kdvOrani = 18 THEN '3H'
END [TAX CODE],Klinikler.profitCenter [COST CENTER/PROFIT CENTER]
FROM Faturalar
-- Fatura yazdrlm olmal
INNER JOIN BasilmisFaturalar ON BasilmisFaturalar.basilmisFatura_id = Faturalar.refBasilmisFatura_id
-- Yazdrlm fatura iptal edilmemi olmal
INNER JOIN BasiliFaturaIptalTalepleri ON BasiliFaturaIptalTalepleri.refBasilmisFatura_id <> BasilmisFaturalar.basilmisFatura_id
-- Fatura Kurum Detaylarndan KURUM bilgilerine
INNER JOIN KurumFaturaDetaylari ON KurumFaturaDetaylari.kurumFaturaDetay_id = BasilmisFaturalar.refKurumFaturaDetay_id
-- Faturann kesildii kurum
INNER JOIN Kurumlar ON Kurumlar.kurum_id = dbo.KurumFaturaDetaylari.refKurum_id
-- Seanslar üzerinden Klinik bilgilerine bylece SAPcc,ProfitCenter a ulayoruz
INNER JOIN Seanslar ON Seanslar.refFatura_id = Faturalar.fatura_id
INNER JOIN dbo.Klinikler ON dbo.Klinikler.klinik_id = Seanslar.refKlinik_id
-- Belirli bir düzenleme tarihi aralnda olmal
WHERE BasilmisFaturalar.duzenlemeTarihi BETWEEN DATEADD(m,GETDATE()) AND GETDATE()
GROUP BY Faturalar.faturaNo,Kurumlar.kurumAdi
) Singles
CROSS JOIN
(SELECT 1 AS foo UNION ALL SELECT 2 UNION ALL SELECT 3) Multiplier; (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Sql Server使用cursor处理重复数据过程详解
- sql – 将备份恢复到不同的服务器 – 用户权限
- sql-server – 分区By和Group By之间的SQL Server性能比较
- [转]SQL 2005中pivot and unpivot的用法
- sql-server – 我可以在2008服务器上使用SQL Server Manage
- sql – MS-Access – 您尝试执行不包含指定聚合函数的查询
- sql – 在多个组中的每组记录中选择最新和特定的版本
- .net – 如何在LINQ to Entities中进行LEFT JOIN?
- sql-server – 如何使用VBNet将数据插入SQL Server?
- sql-server – SQL Server PIVOT列数据
