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 |
|
rds207
Posting Yak Master
198 Posts |
Posted - 2010-07-13 : 18:40:28
|
Hi am trying to query to get onr single records from my table here is the DDL of the table CREATE TABLE [dbo].[CRMBUILDMETRICS]( [BuildID] [varchar](50) NULL, [Jobname] [text] NULL, [SubmittedBy] [varchar](50) NOT NULL, [Action] [varchar](32) NOT NULL, [StartTime] [datetime2](3) NULL, [Duration] [int] NULL, [FileCount] [int] NULL, [ByteCount] [bigint] NULL, [ProductLine] [varchar](37) NULL) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]Here is my sample data:BuildID Jobname SubmittedBy Action StartTime Duration FileCount ByteCount ProductLineC8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Build 2010-06-04 18:49:51.000 69 NULL NULL CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Compile 2010-06-04 18:50:17.000 0 NULL NULL CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Copy 2010-06-04 18:50:23.000 4 370 16496640 CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Other NULL 52 NULL NULL CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Strip 2010-06-04 18:50:07.000 8 NULL NULL CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch Sync 2010-06-04 18:50:00.000 5 NULL NULL CSM8700.VX.1.0 The conditions for getting one single record for a jobname is below, based on action i need get the value into one single transaction record for one jobname...SELECT CAST(Jobname AS NVARCHAR(50)),PRODUCTLINE,SubmittedBy,BuildID,FILECOUNT,(SELECT BYTECOUNT WHERE ACTION ='COPY')AS "COPY_BUILD_SIZE",(SELECT DURATION WHERE ACTION = 'BUILD') AS "BUILD_TIME",(SELECT DURATION WHERE ACTION = 'COMPLIE') AS "BUILD_TIME_COMPLIE",(SELECT DURATION WHERE ACTION = 'PACK') AS "BUILD_TIME_PACK",(SELECT DURATION WHERE ACTION = 'RECOMPLIE') AS "BUILD_TIME_RECOMPLIE"FROM dbo.CRMBUILDMETRICS WHERE CAST(Jobname AS NVARCHAR(50))='C8700VXAAA1016_04JUN2010_024845pm' The results with above query , JobName PRODUCTLINE SubmittedBy BuildID FILECOUNT COPY_BUILD_SIZE BUILD_TIME BUILD_TIME_COMPLIE BUILD_TIME_PACK BUILD_TIME_RECOMPLIEC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 NULL NULL 69 NULL NULL NULLC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 NULL NULL NULL NULL NULL NULLC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 370 16496640 NULL NULL NULL NULLC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 NULL NULL NULL NULL NULL NULLC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 NULL NULL NULL NULL NULL NULLC8700VXAAA1016_04JUN2010_024845pm CSM8700.VX.1.0 rllynch C8700VXAAA1016 NULL NULL NULL NULL NULL NULL Could anybody please help how i get one single record for each job name? |
|
|
rds207
Posting Yak Master
198 Posts |
Posted - 2010-07-13 : 19:28:44
|
I tried this query it still gives me six records , why dont i get i single record...Select C.BUILDID,C.JOBNAME,C.SubmittedBy,C.COPY_BUILD_SIZE,C.BUILD_TIME,C.Compile_BUILD_TIME,C.PACK_BUILD_TIME,C.RECOMPLIE_BUILD_TIME,C.SYNC_BUILD_TIME,C.CopyPack_BUILD_TIME,C.Strip_BUILD_TIME,C.PackSBA_BUILD_TIME,C.Copy_BUILD_TIME,C.FILECOUNT,C.PRODUCTLINE FROM (SELECT BuildID,CAST(Jobname AS NVARCHAR(50))as JobName,SubmittedBy,(SELECT BYTECOUNT WHERE ACTION ='Copy')AS "Copy_BUILD_SIZE",(SELECT DURATION WHERE ACTION = 'Build') AS "Build_TIME",(SELECT DURATION WHERE ACTION = 'Compile') AS "Compile_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'PACK') AS "PACK_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'ReCompile') AS "RECOMPLIE_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'SYNC') AS "SYNC_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'CopyPack') AS "CopyPack_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'Strip') AS "Strip_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'PackSBA') AS "PackSBA_BUILD_TIME",(SELECT DURATION WHERE ACTION = 'Copy') AS "Copy_BUILD_TIME",FILECOUNT,PRODUCTLINEFROM dbo.CRMBUILDMETRICS WHERE CAST(Jobname AS NVARCHAR(50))='C8700VXAAA1016_04JUN2010_024845pm')AS C |
 |
|
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2010-07-13 : 20:58:28
|
What is the version of SQL Server you are using ? KH[spoiler]Time is always against us[/spoiler] |
 |
|
|
rds207
Posting Yak Master
198 Posts |
Posted - 2010-07-13 : 21:28:37
|
SQL SERVER 2008quote: Originally posted by khtan What is the version of SQL Server you are using ? KH[spoiler]Time is always against us[/spoiler]
|
 |
|
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2010-07-13 : 21:37:20
|
[code]select *from( select row_no = row_number() over (partition by Jobname order by <somecol> ), * from CRMBUILDMETRICS) dwhere row_no = 1[/code] KH[spoiler]Time is always against us[/spoiler] |
 |
|
|
rds207
Posting Yak Master
198 Posts |
Posted - 2010-07-13 : 22:44:43
|
Please take a look at my query , it has some conditions to get one row of the data the expected output should be one row with all buildtimes for all action values......quote: Originally posted by khtan
select *from( select row_no = row_number() over (partition by Jobname order by <somecol> ), * from CRMBUILDMETRICS) dwhere row_no = 1 KH[spoiler]Time is always against us[/spoiler]
|
 |
|
|
khtan
In (Som, Ni, Yak)
17689 Posts |
Posted - 2010-07-13 : 22:54:15
|
trySELECT BuildID, CAST(Jobname AS NVARCHAR(50))as JobName, SubmittedBy, SUM(CASE WHEN ACTION = 'Copy' THEN BYTECOUNT END) as [Copy_BUILD_SIZE], SUM(CASE WHEN ACTION = 'Build' THEN DURATION END) as [Build_TIME], SUM(CASE WHEN ACTION = 'Compile' THEN DURATION END) as [Compile_BUILD_TIME], SUM(CASE WHEN ACTION = 'PACK' THEN DURATION END) as [PACK_BUILD_TIME], SUM(CASE WHEN ACTION = 'ReCompile' THEN DURATION END) as [RECOMPLIE_BUILD_TIME], SUM(CASE WHEN ACTION = 'SYNC' THEN DURATION END) as [SYNC_BUILD_TIME], SUM(CASE WHEN ACTION = 'CopyPack' THEN DURATION END) as [CopyPack_BUILD_TIME], SUM(CASE WHEN ACTION = 'Strip' THEN DURATION END) as [Strip_BUILD_TIME], SUM(CASE WHEN ACTION = 'PackSBA' THEN DURATION END) as [PackSBA_BUILD_TIME], SUM(CASE WHEN ACTION = 'Copy' THEN DURATION END) as [Copy_BUILD_TIME], FILECOUNT, PRODUCTLINEFROM dbo.CRMBUILDMETRICS WHERE CAST(Jobname AS NVARCHAR(50))='C8700VXAAA1016_04JUN2010_024845pm'GROUP BY BuildID, CAST(Jobname AS NVARCHAR(50))as JobName, SubmittedBy, FILECOUNT, PRODUCTLINE KH[spoiler]Time is always against us[/spoiler] |
 |
|
|
rds207
Posting Yak Master
198 Posts |
Posted - 2010-07-14 : 12:22:08
|
This is giving ...BuildID JobName SubmittedBy Copy_BUILD_SIZE Build_TIME Compile_BUILD_TIME PACK_BUILD_TIME RECOMPLIE_BUILD_TIME SYNC_BUILD_TIME CopyPack_BUILD_TIME Strip_BUILD_TIME PackSBA_BUILD_TIME Copy_BUILD_TIME FILECOUNT PRODUCTLINEC8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch NULL 69 0 NULL NULL 5 NULL 8 NULL NULL NULL CSM8700.VX.1.0C8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch 16496640 NULL NULL NULL NULL NULL NULL NULL NULL 4 370 CSM8700.VX.1.0 What i am expecting is below, Please help :BuildID JobName SubmittedBy Copy_BUILD_SIZE Build_TIME Compile_BUILD_TIME PACK_BUILD_TIME RECOMPLIE_BUILD_TIME SYNC_BUILD_TIME CopyPack_BUILD_TIME Strip_BUILD_TIME PackSBA_BUILD_TIME Copy_BUILD_TIME FILECOUNT PRODUCTLINEC8700VXAAA1016 C8700VXAAA1016_04JUN2010_024845pm rllynch 16496640 69 0 NULL NULL 5 NULL 8 NULL 4 370 CSM8700.VX.1.0 quote: Originally posted by khtan trySELECT BuildID, CAST(Jobname AS NVARCHAR(50))as JobName, SubmittedBy, SUM(CASE WHEN ACTION = 'Copy' THEN BYTECOUNT END) as [Copy_BUILD_SIZE], SUM(CASE WHEN ACTION = 'Build' THEN DURATION END) as [Build_TIME], SUM(CASE WHEN ACTION = 'Compile' THEN DURATION END) as [Compile_BUILD_TIME], SUM(CASE WHEN ACTION = 'PACK' THEN DURATION END) as [PACK_BUILD_TIME], SUM(CASE WHEN ACTION = 'ReCompile' THEN DURATION END) as [RECOMPLIE_BUILD_TIME], SUM(CASE WHEN ACTION = 'SYNC' THEN DURATION END) as [SYNC_BUILD_TIME], SUM(CASE WHEN ACTION = 'CopyPack' THEN DURATION END) as [CopyPack_BUILD_TIME], SUM(CASE WHEN ACTION = 'Strip' THEN DURATION END) as [Strip_BUILD_TIME], SUM(CASE WHEN ACTION = 'PackSBA' THEN DURATION END) as [PackSBA_BUILD_TIME], SUM(CASE WHEN ACTION = 'Copy' THEN DURATION END) as [Copy_BUILD_TIME], FILECOUNT, PRODUCTLINEFROM dbo.CRMBUILDMETRICS WHERE CAST(Jobname AS NVARCHAR(50))='C8700VXAAA1016_04JUN2010_024845pm'GROUP BY BuildID, CAST(Jobname AS NVARCHAR(50))as JobName, SubmittedBy, FILECOUNT, PRODUCTLINE KH[spoiler]Time is always against us[/spoiler]
|
 |
|
|
|
|
|
|
|