Visual studio 2008 如何在tsql中将数据划分为多列

Visual studio 2008 如何在tsql中将数据划分为多列,visual-studio-2008,tsql,rdlc,Visual Studio 2008,Tsql,Rdlc,我在数据库中有大约1000行,我想按列组进行划分。我的意思是用下面的格式 SlNo. Name Price SlNo. Name Price SlNo. Name Price 如何编写查询以显示rdlc report vs 2008中上述格式的数据我无法以这种格式显示数据。任何帮助都将不胜感激 销售表结构 CREATE TABLE [dbo].[Sales]( [SalesId] [int] IDENTITY(1,1) NOT NULL,

我在数据库中有大约1000行,我想按列组进行划分。我的意思是用下面的格式

SlNo.    Name    Price      SlNo.    Name    Price      SlNo.    Name    Price
如何编写查询以显示rdlc report vs 2008中上述格式的数据我无法以这种格式显示数据。任何帮助都将不胜感激

销售表结构

CREATE TABLE [dbo].[Sales](
[SalesId] [int] IDENTITY(1,1) NOT NULL,
[MemoNo] [int] NULL,
[CustomerID] [int] NULL,
[SalesmanID] [int] NULL,
[DisRate] [int] NULL,
[CoolingCh] [int] NULL,
[GrandTotal] [int] NULL,
[SubTotal] [int] NULL,
[BillDate] [varchar](10) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[AddedOn] [datetime] NULL,
 CONSTRAINT [PK_Sales] PRIMARY KEY CLUSTERED 
(
[SalesId] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]

谢谢……

我认为可以按照……的思路做些事情

SELECT
    SELECT *
        FROM (SELECT SalesId, Name, Price
                  FROM Sales S2
                  WHERE S2.SalesId = S1.SalesId    ) as Tab1,
    SELECT *
        FROM (SELECT SalesId, Name, Price
                  FROM Sales S2
                  WHERE S2.SalesId = S1.SalesId + 1) as Tab2,
    SELECT *
        FROM (SELECT SalesId, Name, Price
                  FROM Sales S2
                  WHERE S2.SalesId = S1.SalesId + 2) as Tab3
    FROM Sales
    WHERE ...every third row...;

我无法填写完整的细节,因为我不是TSQL方面的专家,而且表中也没有SlNo、名称或价格,您可能必须从某处获得这些信息。这是否是对罗纳德·威尔登伯格(Ronald Wildenberg)所建议的编码的改进,是一个品味问题。

这应该是一个简单的问题

SELECT 
    SalesId, [Name], GrandTotal as 'Price'
FROM 
    dbo.Sales 
WHERE
    (some condition)
检索所需的所有数据,然后在SQL Server报表设计器中使报表显示三列,并在整个报表中重复三次


使用SQL Server和T-SQL检索数据,并使用SQL Server Reporting Services格式化输出,以满足您的需要。

我认为SQL查询不可能做到这一点,除非您创建了一个相当复杂的存储过程。这些事情最好在代码中完成。这应该是一个简单的
从dbo.Sales中选择(字段)
,然后在报表设计器中使您的报表显示三列,在整个报表中重复三次……@marc_s:这应该是一个答案,但报表设计器不会按照我的需要呈现报表,即使我按列显示报表。顺便说一下,我需要的输出是第一列,然后是行。。。