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 |
|
maheshrblr
Starting Member
9 Posts |
Posted - 2008-11-03 : 06:31:00
|
| Greetings!!Looks like my question was not explained in detail-- well the code below works fine for a date range of one dayi.e SELECT SID as LoginName, MIN(TimeWritten) as LoginDateTime FROM seclist where timegenerated >= '2008-10-31 00:00:01' and timegenerated <='2008-10-31 23:59:59'and (SID NOT LIKE '%\IUSR%' and SID NOT LIKE '%\IWM%' and SID NOT LIKE '%Admin%')group by SIDWhen the date range is changed to an entire month as below the results are corrupted meaning that it generates only for the first day and few results are randomly of other days.SELECT SID as LoginName, MIN(TimeWritten) as LoginDateTime FROM seclist where timegenerated >= '2008-10-01 00:00:01' and timegenerated <='2008-10-31 23:59:59'and (SID NOT LIKE '%\IUSR%' and SID NOT LIKE '%\IWM%' and SID NOT LIKE '%Admin%')group by SIDGenerates the actual and full result as below--LoginName LoginDateTime------------------- -------------------sqlsrv\user1 2008-11-01 04:06:32sqlsrv\user2 2008-11-01 07:15:00sqlsrv\user3 2008-11-01 07:53:28sqlsrv\user4 2008-11-01 08:00:32sqlsrv\user5 2008-11-01 08:06:46sqlsrv\user6 2008-11-01 08:07:11sqlsrv\user7 2008-11-01 08:12:09sqlsrv\user8 2008-11-01 08:14:02sqlsrv\user9 2008-11-01 08:18:13sqlsrv\user10 2008-11-01 08:19:12sqlsrv\user11 2008-11-01 08:24:57sqlsrv\user12 2008-11-01 08:25:36sqlsrv\user13 2008-11-01 08:42:40sqlsrv\user14 2008-11-01 08:54:13sqlsrv\user15 2008-11-01 09:02:59sqlsrv\user16 2008-11-01 09:23:47sqlsrv\user17 2008-11-01 09:28:25sqlsrv\user18 2008-11-01 09:36:26sqlsrv\user19 2008-11-01 09:40:05sqlsrv\user20 2008-11-01 10:17:33sqlsrv\user21 2008-11-01 10:34:02sqlsrv\user22 2008-11-01 13:33:51sqlsrv\user23 2008-11-01 16:01:11sqlsrv\user24 2008-11-03 08:10:39sqlsrv\user25 2008-11-03 08:52:17sqlsrv\user26 2008-11-03 08:53:02sqlsrv\user27 2008-11-03 09:00:54sqlsrv\user28 2008-11-03 09:50:45sqlsrv\user29 2008-11-03 10:23:29Typically the result should be like as below--sqlsrv\user1 2008-10-01sqlsrv\user2 2008-10-01sqlsrv\user3 2008-10-01sqlsrv\user4 2008-10-01sqlsrv\user5 2008-10-01sqlsrv\user6 2008-10-01sqlsrv\user7 2008-10-01sqlsrv\user8 2008-10-01sqlsrv\user1 2008-10-02sqlsrv\user2 2008-10-02sqlsrv\user3 2008-10-02sqlsrv\user4 2008-10-02sqlsrv\user5 2008-10-02sqlsrv\user6 2008-10-02sqlsrv\user7 2008-10-02sqlsrv\user8 2008-10-02and so on till the last date of the month--sqlsrv\user1 2008-10-31sqlsrv\user2 2008-10-31sqlsrv\user3 2008-10-31sqlsrv\user4 2008-10-31sqlsrv\user5 2008-10-31sqlsrv\user6 2008-10-31sqlsrv\user7 2008-10-31sqlsrv\user8 2008-10-31Best Regards,Mahesh |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-03 : 06:40:28
|
| do you mean you want to strip off time part? if yes do like below SELECT SID as LoginName, MIN(DATEADD(dd,DATEDIFF(dd,0,TimeWritten),0)) as LoginDateTime FROM seclist where timegenerated >= '2008-10-31 00:00:01' and timegenerated <='2008-10-31 23:59:59'and (SID NOT LIKE '%\IUSR%' and SID NOT LIKE '%\IWM%' and SID NOT LIKE '%Admin%')group by SID |
 |
|
|
maheshrblr
Starting Member
9 Posts |
Posted - 2008-11-03 : 06:50:13
|
| Hi Visakh,No i do not want to strip off the time part--it was just to illustrate the result format..as login report for the entire month in individual days.Best Regards,Mahesh |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-03 : 07:01:51
|
| so is reqmnt to fill in all dates for month een if no data exists for some of them in table? |
 |
|
|
maheshrblr
Starting Member
9 Posts |
Posted - 2008-11-03 : 07:08:39
|
quote: Originally posted by visakh16 so is reqmnt to fill in all dates for month even if no data exists for some of them in table?
Hi,since there will be no data for holidays and weekend dates, the result will have no data in them. Only dates which have data in them according to the query will return the value, else there will be no data to return.Best Regards,Mahesh |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-03 : 07:15:16
|
| Ok. then what's your problem? i didnt understand what you're asking for?? |
 |
|
|
maheshrblr
Starting Member
9 Posts |
Posted - 2008-11-03 : 07:37:09
|
quote: Originally posted by visakh16 Ok. then what's your problem? i didnt understand what you're asking for??
Hi Visakh,The problem is that i want to generate a entire month's login report for all users , but the query presently does not do that. It generates only the report as follows though the db contains data for the entire month--LoginName LoginDateTime------------------- -------------------sqlsrv\user1 2008-11-01 04:06:32sqlsrv\user2 2008-11-01 07:15:00sqlsrv\user3 2008-11-01 07:53:28sqlsrv\user4 2008-11-01 08:00:32sqlsrv\user5 2008-11-01 08:06:46sqlsrv\user6 2008-11-01 08:07:11sqlsrv\user7 2008-11-01 08:12:09sqlsrv\user8 2008-11-01 08:14:02sqlsrv\user9 2008-11-01 08:18:13sqlsrv\user10 2008-11-01 08:19:12sqlsrv\user11 2008-11-01 08:24:57sqlsrv\user12 2008-11-01 08:25:36sqlsrv\user13 2008-11-01 08:42:40sqlsrv\user14 2008-11-01 08:54:13sqlsrv\user15 2008-11-01 09:02:59sqlsrv\user16 2008-11-01 09:23:47sqlsrv\user17 2008-11-01 09:28:25sqlsrv\user18 2008-11-01 09:36:26sqlsrv\user19 2008-11-01 09:40:05sqlsrv\user20 2008-11-01 10:17:33sqlsrv\user21 2008-11-01 10:34:02sqlsrv\user22 2008-11-01 13:33:51sqlsrv\user23 2008-11-01 16:01:11sqlsrv\user24 2008-11-03 08:10:39sqlsrv\user25 2008-11-03 08:52:17sqlsrv\user26 2008-11-03 08:53:02sqlsrv\user27 2008-11-03 09:00:54sqlsrv\user28 2008-11-03 09:50:45sqlsrv\user29 2008-11-03 10:23:29Typically the result should be like as below--sqlsrv\user1 2008-11-01 04:06:32sqlsrv\user2 2008-11-01 07:15:00sqlsrv\user3 2008-11-01 07:53:28sqlsrv\user4 2008-11-01 08:00:32sqlsrv\user5 2008-11-01 08:06:46sqlsrv\user6 2008-11-01 08:07:11sqlsrv\user7 2008-11-01 08:12:09sqlsrv\user8 2008-11-01 08:14:02sqlsrv\user1 2008-11-02 04:06:32sqlsrv\user2 2008-11-02 07:15:00sqlsrv\user3 2008-11-02 07:53:28sqlsrv\user4 2008-11-02 08:00:32sqlsrv\user5 2008-11-02 08:06:46sqlsrv\user6 2008-11-02 08:07:11sqlsrv\user7 2008-11-02 08:12:09sqlsrv\user8 2008-11-02 08:14:02and so on till the last date of the month--sqlsrv\user1 2008-11-31 04:06:32sqlsrv\user2 2008-11-31 07:15:00sqlsrv\user3 2008-11-31 07:53:28sqlsrv\user4 2008-11-31 08:00:32sqlsrv\user5 2008-11-31 08:06:46sqlsrv\user6 2008-11-31 08:07:11sqlsrv\user7 2008-11-31 08:12:09sqlsrv\user8 2008-11-31 08:14:02Best Regards,Mahesh |
 |
|
|
visakh16
Very Important crosS Applying yaK Herder
52326 Posts |
Posted - 2008-11-03 : 09:16:17
|
i guess thats because you applied group by. i dont think you need group by if you want all the data.SELECT SID as LoginName, DATEADD(dd,DATEDIFF(dd,0,TimeWritten),0) as LoginDateTime FROM seclist where timegenerated >= '2008-11-01 00:00:01' and timegenerated <='2008-11-31 23:59:59'and (SID NOT LIKE '%\IUSR%' and SID NOT LIKE '%\IWM%' and SID NOT LIKE '%Admin%') |
 |
|
|
|
|
|
|
|