Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
Home
Discussion Groups
DB Engine
SQL ServerMSDESQL Server CE
Services
Analysis (Data Mining)Analysis (OLAP)DTSIntegration ServicesNotification ServicesReporting Services
Programming
CLRConnectivitySQLXML
Other Technologies
ClusteringEnglish QueryFull-Text SearchReplicationService Broker
General
Data WarehousingPerformanceSecuritySetupSQL Server ToolsOther SQL Server Topics
DirectoryUser Groups
Related Topics
MS AccessOther DB ProductsMS Server Products.NET DevelopmentVB DevelopmentJava DevelopmentMore Topics ...

SQL Server Forum / General / Other SQL Server Topics / September 2006

Tip: Looking for answers? Try searching our database.

Update Query containg static data and data from another table.

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
holmm - 28 Sep 2006 15:24 GMT
Hi,

First post so apologies if this sounds a bit confusing!!

I'm trying to run the following update. On a weekly basis i want to
insert all the active users ids from a users table into a timesheets
table along with the last day of the week and a submitted flag set to
0. I plan then on creating a schduled job so the script runs weekly.
The 3 queries i plan to use are below.

Insert statement:

INSERT INTO TBL_TIMESHEETS (TBL_TIMESHEETS.USER_ID,
TBL_TIMESHEETS.WEEK_ENDING, TBL_TIMESHEETS.IS_SUBMITTED)
VALUES ('user ids', 'week end date', '0')

Get User Ids:

SELECT TBL_USERS.USER_ID from TBL_USERS where TBL_USERS.IS_ACTIVE = '1'

Get last date of the week
SELECT DATEADD(wk, DATEDIFF(wk,0,getdate()), 6)

I'm having trouble combing them as i'm pretty new to this. Is the best
approach to use a cursor?

If you need anymore info let me know. Thanks in advance.
Hugo Kornelis - 28 Sep 2006 20:56 GMT
>Hi,
>
[quoted text clipped - 23 lines]
>
>If you need anymore info let me know. Thanks in advance.

Hi holmm,

Try if this gets you the desired results:

INSERT INTO TBL_TIMESHEETS
     (TBL_TIMESHEETS.USER_ID, TBL_TIMESHEETS.WEEK_ENDING,
      TBL_TIMESHEETS.IS_SUBMITTED)
SELECT TBL_USERS.USER_ID, DATEADD(wk, DATEDIFF(wk,0,getdate()), 6), '0'
FROM   TBL_USERS
WHERE  TBL_USERS.IS_ACTIVE = '1';

(Untested - see www.aspfaq.com/5006 if you prefer a tested reply)

Signature

Hugo Kornelis, SQL Server MVP

ZeldorBlat - 28 Sep 2006 22:42 GMT
> Hi,
>
[quoted text clipped - 23 lines]
>
> If you need anymore info let me know. Thanks in advance.

You've already got all the parts you need.  Just stick 'em together :)

INSERT INTO TBL_TIMESHEETS (USER_ID, WEEK_ENDING, IS_SUBMITTED)
SELECT USER_ID, DATEADD(wk, DATEDIFF(wk, 0, getdate()), 6), 0
FROM TBL_USERS
WHERE IS_ACTIVE = '1'
Ed Murphy - 29 Sep 2006 04:38 GMT
> Is the best approach to use a cursor?

Almost never.
holmm - 29 Sep 2006 09:25 GMT
> > Is the best approach to use a cursor?
>
> Almost never.

Thanks for the replys. I'll go for the simply insert statement rather
than a cursor.
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2009 Advenet LLC   Privacy Policy - Terms of Use
This website includes both content owned or controlled by Advenet as well as content owned or controlled by third parties.