How To Check If Employees Have Full Month - If Not Move To Temp Table
Jan 10, 2008
need help
how to check in table if all the employees have Full month
if it double days fix it
if the employees have less days ! > move to temp table
for eny problem with this employee (check continuity or error) move to temp table !
i have stored procedure that insert employees for next month "Full month"
from start of the month until end of the month
how to check continuity and if i don't give less days OR double days in month
like if the month is 29 days the employee must have 29 not more
for eny problem with this employee move to temp table !
situation 1 employees have less days !
sn empid ShiftDate day
-------------------------------------------------
1 111111 2008-02-01 Tuesday
2 111111 2008-03-02 Wednesday
3 111111 2008-04-03 Thursday
4 111111 2008-03-04 Friday
5 111111 2008-03-05 Saturday
6 111111 2008-03-06 Sunday
7 111111 2008-03-07 Monday
. ----------------------------------------------
8 111111 2008-03-09 Wednesday
9 111111 2008-03-10 Thursday
.......................................................................until end of the month
99 222222 2008-02-01 Tuesday
100 222222 2008-03-02 Wednesday
101 222222 2008-04-03 Thursday
102 222222 2008-03-04 Friday
. ----------------------------------------------
104 222222 2008-03-06 Sunday
105 222222 2008-03-07 Monday
106 22222 2008-03-09 Wednesday
108 22222 2008-03-09 Wednesday
109 22222 2008-03-10 Thursday
.......................................................................until end of the month
I have a table which has name,Speciality,start date and end date. So each person may have 1/more rows .They will have more if they change their specialities. For example if you look at the data below.
AdjusterNameSpecialtyDatestartDateEnd Test Inside Property2009-08-29 2010-07-31 Test Management2010-08-012012-07-31
If we see at the data above Test has 2 rows because he changed his specialty in the middle.My requirement is to calculate the total number of employees in each month for last 2 years in each speciality. For example if we look at the example above, Test was in Inside property from 2009 Aug to 2010 Aug but if i use just the date start and take the month for each adjuster it gives me the number of adjusters started in that year and month but what i want is Test should be counted in all the months for Inside property until 2010 07 month. Which means i want to have the total number of adjusters present by each speciality for each month of last 2 years .
Within the execution of a t-sql script how do I check for the existance of a temporary table associated with the session or a global temporary table?
My understanding is that the table name doesn't get placed in the current database sysobjects table - it goes into tempdb. But the object name is cryptic (so as to be unique) and I see no way of associating it with the current session (@@SPID).
This function, F_TEMP_TABLE_EXISTS, checks for the existence of a temp table (## name or # name), and returns a 1 if it exists, and returns a 0 if it doesn't exist.
The script creates the function and tests it. The expected test results are also included.
This was tested with SQL 2000 only.
if objectproperty(object_id('dbo.F_TEMP_TABLE_EXISTS'),'IsScalarFunction') = 1 begin drop function dbo.F_TEMP_TABLE_EXISTS end go create function dbo.F_TEMP_TABLE_EXISTS ( @temp_table_name sysname ) returns int as /* Function: F_TEMP_TABLE_EXISTS
Checks for the existence of a temp table (## name or # name), and returns a 1 if it exists, and returns a 0 if it doesn't exist.
*/ begin
if exists ( select * from tempdb.dbo.sysobjects o where o.xtype in ('U')and o.id = object_id( N'tempdb..'+@temp_table_name ) ) begin return 1 end
return 0
end go print 'Create temp tables for testing' create table #temp (x int) go create table ##temp2 (x int) go print 'Test if temp tables exist'
select [Table Exists] = dbo.F_TEMP_TABLE_EXISTS ( NM ), [Table Name] = NM from ( select nm = '#temp' union all select nm = '##temp2' union all select nm = '##temp' union all select nm = '#temp2' ) a
print 'Check if table #temp exists'
if dbo.F_TEMP_TABLE_EXISTS ( '#temp' ) = 1 print '#temp exists' else print '#temp does not exist'
print 'Check if table ##temp4 exists' if dbo.F_TEMP_TABLE_EXISTS ( '##temp4' ) = 1 print '##temp4 exists' else print '##temp4 does not exist' go
-- Drop temp tables used for testing, -- after using function F_TEMP_TABLE_EXISTS -- to check if they exist.
if dbo.F_TEMP_TABLE_EXISTS ( '#temp' ) = 1 begin print 'drop table #temp' drop table #temp end
if dbo.F_TEMP_TABLE_EXISTS ( '##temp2' ) = 1 begin print 'drop table ##temp2' drop table ##temp2 end
Test Results:
Create temp tables for testing Test if temp tables exist Table Exists Table Name ------------ ---------- 1 #temp 1 ##temp2 0 ##temp 0 #temp2
(4 row(s) affected)
Check if table #temp exists #temp exists Check if table ##temp4 exists ##temp4 does not exist drop table #temp drop table ##temp2
I am using a foreach file to loop through a folder and pick a file. Then populate a Sql table.
Now I want to check if the file is a mdb and then check if the mdb contains a table called "Schools". If any of these conditions fails, the file should be moved to the Error folder. If conditions pass, populate the Sql tables.
How do I do this? Please specify the components to use.
I have a SSRS report developed in Visual Studio 2013 and using SQL server 2012. It has a date control based on parameters which works correctly in the development environment. I can select by day AND I can move from date to date by clicking on the month name to be able to move by month or double clicking to be able to move by year.
When the report is deployed to Internet Explorer 11 or Firefox I can only, click back and forward by one day at a time and I can not double click the date control to move by month or double click to move by year. I can type the dates into the parameter box and get the correct result. I have set the compatibility view settings in IE for my server.
help how to ? 7 conditions for evry day check for all month
a condition "code block" for evry day in the week like CASE inside CASE and How to insert it to #Temp table all
Code Block CREATE PROC YourProc @StartDate datetime = NULL, @EndDate datetime = NULL AS SET @StartDate = COALESCE(@StartDate,DATEADD(d,DATEDIFF(d,0,GETDATE()),0))--defaulting to todays date if not supplied SET @EndDate=COALESCE(@EndDate,DATEADD(m,1,@StartDate))--defaults to 1 month from today
WHILE @StartDate <= @EndDate BEGIN SELECT CASE WHEN DATENAME( dw,@StartDate)='Sunday'
---- for Sunday----for Sunday------------for Sunday----for Sunday------v_un
WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='Sunday' AND empid IN (SELECT empid FROM v_un WHERE (shift =34) THEN 5 ------------------------END for Sunday----for Sunday SELECT CASE WHEN DATENAME( dw,@StartDate)='monday' ---- for monday----for monday------------for monday----for monday----FROM v_1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='monday' AND empid IN (SELECT empid FROM v_1 WHERE (shift =34) THEN 5 --------------------------END for monday SELECT CASE WHEN DATENAME( dw,@StartDate)='Tuesday'
---- for Tuesdayy----for Tuesday----for Tuesday----for Tuesday----from V_2
WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =45 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =51 ) THEN 1 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =11 ) THEN 2 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =12) THEN 2 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =22 ) THEN 3 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =23) THEN 3 WHEN DATENAME( dw,@StartDate)='Tuesday' AND empid IN (SELECT empid FROM v_2 WHERE (shift =34) THEN 5 ................................................END for Tuesday ///////// until Saturday ..... WHEN DATENAME( dw,@StartDate)='Saturday' AND ... THEN .. END SET @StartDate=DATEADD(d,1,@StartDate) END GO
I have two tables Costtable (Id,ResourceId, Amount,Date) and ResourceTable (ResourceId,Name) which shows output as below.
I want to show 0 amount for rest of the name in case of September. For e.g. if rest of the Resources does not appear in cost table they should appear 0 in amount
My Desired output
My current query
SELECT RG.Id AS Id, RG.Name AS Name, ISNULL(SUM(AC.Amount), 0) AS Amount, RIGHT(CONVERT(varchar(10), AC.[Date], 105), 7) AS [YearMonth]
I have two listboxes: listbox1 retrieve rows from tblProfileUsers and listbox2 receive users from listbox1 to save them into the same table tblProfileUsers, but users must have an unique profile associate to him. So I need that my web form checks if selected users already are on tblProfileUsers and block operation before they saved with a 2nd or 3rd profiles. I´m using VSTS with SQL 2005.
I have Googled the terms 'move path change full-text index catalog' and have come up with nothing that pertains to SQL 2005...only 2000 and 7.0....
So my question remains, how the heck do you change the location of the full-text catalog in SQL 2005? Must I delete and re-create? If so is there a good article on this process? I don't want to loose data or screw anything up....I can't imagine I am the first person who wants to do his?????
i use to run the stored procedure as a task daily, but since yesterday i am getting the error my tempdb is full ,and that process is stopping. does anybody know solution for this problem thanks in advance
Hi all, We are using temp tables (loacal Temporary tables) in our business logic(stored procs).During the load test , the temp DB log gets full.How to avoid this?. Thanks in advance.
Is there any way to move a db with full-text indexes from one physical machine to another without having to drop catalog/indexes and the re-create them? Cheers! /Eskil
Hi all,I am dealing with a very large database, and as soon as a record issubmitted I need to run a full-text query against it. I believe itmight take a while before the record is fully indexed and thereforewould not return a result.How can I check whether the record in question is already indexed, ifat all?This is MS SQL 2005Thanks in advance..
I think this is a very simple question, however, I don't know the answer. What is the difference between a regular Temp table and a Global Temp table? I need to create a temp table within an sp that all users will use. I want the table recreated each time someone accesses the sp, though, because some of the same info may need to be inserted and I don't want any PK errors.
I am setting up Availability Groups and I want to use the secondary replica to perform the full copy_only backups to reduce the load on the primary replica.But what is the best way to check for successful full backups on Availability Group databases?
Previously I could check the system table msdb.dbo.backupset but this is not available for copy_only backups.So I wonder how people are monitoring that their full backups have been successful?
Do you just check that the SQL Agent job that runs the backup was successful?
Or do you search the SQL Server Error Log for entries like "Database backed up. Database: xxx" where database xxx is in an Availability Group?
Hello what I'd like to display the following in a matrix report:
Parameter selected: 3 (March), 2008 (Year)
Monthly TO Summed up ArtNo March <=March 1210 20,500 50,900 1220 21,200 64,000 1230 15,400 40,300 ... ... ...
So, in the rows I have the articles and in the column the selected month via parameter. In another column I need to sum up all monthly values up to the selected month, meaning in this example the sum of jan, feb and mar per article.
In my cube there are two measures which are used in different calculations.Now I'm need to show in report if there any months in data when both or even another one of the measures is not updated (value = 0 or NULL).
how should I create the calculated measure for that?
I have tried in mgmt studio to plan this but I'm in a loop of errors.
Hi, I have an ASPNETDB.MDF (asp.net membership/profile db) that was generated for SQL Express, it has user information I need to keep. I have SQLExpress and full SQL Server 2005 running on the server. I want to remove SQL Express from the server. So can I simply do a backup of the SQL Express membership db and restore it to full SQL and change the connection string in my app or do i need to run the membership wizard on full sql and then do the backup / restore? Or is there another way. Thanks
hi all, is there any query to move certain data from a sql data to access table through query. i am having a requirement where i have to fetch the records from a sql table that falls within a specified range to a ms access table. is this possible through a query.
i am inserting something into the temp table even without creating it before. But this does not give any compilation error. Only when I want to execute the stored procedure I get the error message that there is an invalid temp table. Should this not result in a compilation error rather during the execution time.?
--create the procedure and insert into the temp table without creating it. --no compilation error. CREATE PROC testTemp AS BEGIN INSERT INTO #tmp(dt) SELECT GETDATE() END
only on calling the proc does this give an execution error
Simple example: declare @tTable(col1 int) insert into @tTable(col1) values (1) select * from @tTable
Works perfectly in SQL Server Management Studio and the database connection is OK to as I may generate PP table using complex (or simple) queries without difficulty.
But when trying to get this same result in a PP table I get an error, idem when replacing table variable by a temporary table.
Message: OLE DB or ODBC error. .... The current operation was cancelled because another operation the the transaction failed.
If on the source I have a new column, the script generated by SqlPackage.exe recreates the table on the background with moving the data into a temp storage. If the table is big, such approach can cause issues.
Example of the script is below: in the source project I added columns [MyColumn_LINE_1] and [MyColumn_LINE_5].
Is there any way I can make it generating an alter statement instead?
BEGIN TRANSACTION; SET TRANSACTION ISOLATION LEVEL SERIALIZABLE; SET XACT_ABORT ON; CREATE TABLE [dbo].[tmp_ms_xx_MyTable] ( [MyColumn_TYPE_CODE] CHAR (3) NOT NULL,
[Code] ....
The same script is generated regardless the table having data or not, having a clustered or nonclustered PK.
The SP UserPersist_GetByCriteria does a "SELECT * FROM tbl_User WHERE gender = @Gender AND culture = @Culture", so why am I receiving this error when both tables have the same structure?
The error is being reported as coming from UserPersist_GetByCriteria on the "SELECT * FROM tbl_User" line.