Please start any new threads on our new
site at https://forums.sqlteam.com. We've got lots of great SQL Server
experts to answer whatever question you can come up with.
| Author |
Topic |
|
Corobori
Posting Yak Master
105 Posts |
Posted - 2010-01-19 : 14:37:08
|
My query SELECT dbo.tblBienestarSolicitudesDetalles.Bsd_Bd_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_TextoFROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_IdWHERE (dbo.tblFormulariosDetalles.Fod_Fo_Id = 1) gives me a "vertical" result13 1 CONTRATO13 2 SALUD13 3 PREVISION13 4 PERTENECE 13 5 DOMICILIO13 6 COMUNA13 7 CIUDAD13 8 TELEFONO13 9 REGION13 10 MI I want to have it this way13, CONTRATO, SALUD, PREVISION, PERTENECE, DOMICILIO, COMUNA, CIUDAD, TELEFONO, REGION, MI I tried, for the 1st time, the PIVOT feature, but it isn't workingSELECT Bsd_TextoFROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_IdPIVOT(max(Bsd_Texto)For Fod_Fo_Id in ([1],[2],[3],[4],[5],[6],[7], ,[9],[10]))as sTextoWHERE (Fod_Fo_Id = 1) My tables areSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[tblFormulariosDetalles]( [Fod_Id] [int] IDENTITY(1,1) NOT NULL, [Fod_No] [int] NOT NULL, [Fod_Fo_Id] [int] NOT NULL, [Fod_Texto] [nvarchar](250) COLLATE Latin1_General_CI_AS NOT NULL, CONSTRAINT [PK_tblFormulariosDetalles] PRIMARY KEY CLUSTERED ( [Fod_Id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY]SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TABLE [dbo].[tblBienestarSolicitudesDetalles]( [Bsd_Id] [int] IDENTITY(1,1) NOT NULL, [Bsd_Bd_Id] [int] NOT NULL, [Bsd_Fod_Id] [int] NOT NULL, [Bsd_Texto] [nvarchar](100) COLLATE Latin1_General_CI_AS NOT NULL, CONSTRAINT [PK_tblBienestarSolicitudesDetalles] PRIMARY KEY CLUSTERED ( [Bsd_Id] ASC)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]) ON [PRIMARY] jean-lucwww.corobori.com |
|
|
sql-programmers
Posting Yak Master
190 Posts |
|
|
divyaram
Posting Yak Master
180 Posts |
Posted - 2010-01-20 : 06:06:09
|
| SELECT Bsd_TextoFROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id where Fod_Fo_Id in ([1],[2],[3],[4],[5],[6],[7],,[9],[10] PIVOT(max(Bsd_Texto)For Bsd_Bd_Id in[13]) as pvtorder by tblFormulariosDetalles.Fod_Fo_IdRegards,Divya |
 |
|
|
Transact Charlie
Master Smack Fu Yak Hacker
3451 Posts |
Posted - 2010-01-20 : 06:09:00
|
or old school:/*SELECT dbo.tblBienestarSolicitudesDetalles.Bsd_Bd_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_TextoFROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_IdWHERE (dbo.tblFormulariosDetalles.Fod_Fo_Id = 1)gives me a "vertical" result13 1 CONTRATO13 2 SALUD13 3 PREVISION13 4 PERTENECE 13 5 DOMICILIO13 6 COMUNA13 7 CIUDAD13 8 TELEFONO13 9 REGION13 10 MI TO RESULTS13, CONTRATO, SALUD, PREVISION, PERTENECE, DOMICILIO, COMUNA, CIUDAD, TELEFONO, REGION, MI */SELECT [ID] , MAX(CASE WHEN [div] = 'CONTRATO' THEN [val] ELSE NULL END) AS [CONTRATO] , MAX(CASE WHEN [div] = 'SALUD' THEN [val] ELSE NULL END) AS [SALUD] , MAX(CASE WHEN [div] = 'PREVISION' THEN [val] ELSE NULL END) AS [PREVISION] , MAX(CASE WHEN [div] = 'PERTENECE' THEN [val] ELSE NULL END) AS [PERTENECE] , MAX(CASE WHEN [div] = 'DOMICILIO' THEN [val] ELSE NULL END) AS [DOMICILIO] , MAX(CASE WHEN [div] = 'COMUNA' THEN [val] ELSE NULL END) AS [COMUNA] , MAX(CASE WHEN [div] = 'CIUDAD' THEN [val] ELSE NULL END) AS [CIUDAD] , MAX(CASE WHEN [div] = 'TELEFONO' THEN [val] ELSE NULL END) AS [TELEFONO] , MAX(CASE WHEN [div] = 'REGION' THEN [val] ELSE NULL END) AS [REGION] , MAX(CASE WHEN [div] = 'MI' THEN [val] ELSE NULL END) AS [MI]FROM ( SELECT dbo.tblBienestarSolicitudesDetalles.Bsd_Bd_Id AS [ID] , dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id AS [val] , dbo.tblBienestarSolicitudesDetalles.Bsd_Texto AS [div] FROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id WHERE dbo.tblFormulariosDetalles.Fod_Fo_Id = 1 ) pivGROUP BY [ID] Charlie===============================================================Msg 3903, Level 16, State 1, Line 1736The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION |
 |
|
|
Corobori
Posting Yak Master
105 Posts |
Posted - 2010-01-20 : 07:42:47
|
quote: Originally posted by divyaram SELECT Bsd_TextoFROM dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id where Fod_Fo_Id in ([1],[2],[3],[4],[5],[6],[7],,[9],[10] PIVOT(max(Bsd_Texto)For Bsd_Bd_Id in[13]) as pvtorder by tblFormulariosDetalles.Fod_Fo_IdRegards,Divya
I tried your waySELECT Bsd_TextoFROM dbo.tblFormulariosDetallesINNER JOINdbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Idwhere Fod_Fo_Id in ([1],[2],[3],[4],[5],[6],[7], ,[9],[10]PIVOT(max(Bsd_Texto)For Bsd_Bd_Id in [13] ) as pvtorder by tblFormulariosDetalles.Fod_Fo_Id but is saysMsg 156, Level 15, State 1, Line 6Incorrect syntax near the keyword 'PIVOT'.Not sure where I should the "(" located after "where Fod_Fo_Id in"jean-lucwww.corobori.com |
 |
|
|
divyaram
Posting Yak Master
180 Posts |
Posted - 2010-01-20 : 08:02:26
|
| SELECT dbo.tblBienestarSolicitudesDetalles.Bsd_Bd_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_Id, dbo.tblBienestarSolicitudesDetalles.Bsd_TextoFROM (select dbo.tblBienestarSolicitudesDetalles.Bsd_Texto from dbo.tblFormulariosDetalles INNER JOIN dbo.tblBienestarSolicitudesDetalles ON dbo.tblFormulariosDetalles.Fod_No = dbo.tblBienestarSolicitudesDetalles.Bsd_Fod_IdWHERE (dbo.tblFormulariosDetalles.Fod_Fo_Id = 1))as Bsd_TextoPIVOT(max(Bsd_Texto)For Fod_Fo_Id in ([1],[2],[3],[4],[5],[6],[7],,[9],[10]))as pvtRegards,Divya |
 |
|
|
|
|
|
|
|