|
The article says it's part of the download.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
link download die bro
|
|
|
|
|
Right, which means you're stuck. Try seeing if there is contact information on that page.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
|
|
Can anyone here help in creating a Tables with Primary Key and Foreign Key? I have created tables but failed in Primary Key and Foreign Key. I am very new to Database.
CustInfo DealerInfo AssDealerInfo VehicleInfo LineItem
CustID(PK) DealerID(PK) AsDealerID(PK) VID(PK) LineItemID (PK)
Now I want a Foreign Key dependency on AssDealerInfo that should have access to all the other tables.
How to achieve this?
Your help is much appreciated.
Thanks
Happy Coding!
|
|
|
|
|
Can you please provide more information about attributes you have in your tables and which ones you would like to have Foreign Key constraints on ?
And please explain what have you tried so far. What sort of errors did you get?
If you haven't tried anything yet I would point you to these links:
[General Create table and Primary Keys]
[Foreign Keys]
|
|
|
|
|
Thank you for the article. I have gone through it earlier but this time it is nice to read again. And I am using System i Navigator. Now in general DB2 or AS400 how can I create a Stored Procedure with parameters for Insert Statement?
I totally agree that when everyone in the world is moving with new technologies and migrating data from AS400 to Oracle/SAP or some other things. I am still using this because my boss just loves AS400 like crazy.
Your help is much appreciated.
Thanks
Happy Coding!
|
|
|
|
|
StartDate EndData EmpCode
1/1/2014 1/31/2014 12345
2/1/2014 2/28/2014 12345
3/3/2014 3/25/2014 12345
4/1/2014 4/30/2014 12345
5/1/2014 5/31/2014 12345
7/1/2014 7/31/2014 12345
I need the below output from above table structure using SQL Query.
Output:
StartDate EndData EmpCode
1/1/2014 2/28/2014 12345
3/3/2014 3/25/2014 12345
4/1/2014 5/31/2014 12345
7/1/2014 7/31/2014 12345
|
|
|
|
|
And you want us to decipher the logic of what the output is, oh goody a challenge to start the year off with. It looks like row 1 & 3 are 2 months and the others are 1 month. Why!
Help us to help you, tell us what you are trying to achieve and we might be able to help.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Need to group all the continuous periods. That's why output with 4 rows.
StartDate EndData EmpCode
1/1/2014 1/31/2014 12345
2/1/2014 2/28/2014 12345
need to merger as 1/1/2014 to 2/28/2014.
If no continuous dates, display as it is.
|
|
|
|
|
Ooh that's nasty, I presume you mean consecutive MONTHS not dates! I don't see a simple way to do that in a straight query so I would probably throw it into a cursor and process each record setting a GroupingNo and then query based on the GroupingNo.
Someone with CTE skills should be able to give you a more elegant solution.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
There might be a better way to do this, but the obvious solution would be:
WITH cteStartingPoints As
(
SELECT
A.EmpCode,
A.StartDate,
ROW_NUMBER() OVER (ORDER BY A.StartDate) As RN
FROM
YourTable As A
WHERE
Not Exists
(
SELECT 1
FROM YourTable As B
WHERE B.EmpCode = A.EmpCode
And B.EndDate = DateAdd(day, -1, A.StartDate)
)
),
cteEndingPoints As
(
SELECT
A.EmpCode,
A.EndDate,
ROW_NUMBER() OVER (ORDER BY A.StartDate) As RN
FROM
YourTable As A
WHERE
Not Exists
(
SELECT 1
FROM YourTable As B
WHERE B.EmpCode = A.EmpCode
And B.StartDate = DateAdd(day, 1, A.EndDate)
)
)
SELECT
S.EmpCode,
S.StartDate,
E.EndDate
FROM
cteStartingPoints As S
INNER JOIN cteEndingPoints As E
ON E.EmpCode = S.EmpCode
And E.RN = S.RN
;
http://sqlfiddle.com/#!3/c1331/2[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Richard Deeming wrote: but the obvious solution would be Only if you like CTEs, deserves 5
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Thanks, Code works fine. But i have 50 million records in my table. So process is getting slow. Is there any other ways to improve performance?
Thanks in advance...
|
|
|
|
|
Run the execution plan and see if it recommends any indexes, look for high cost bottle necks.
You also need to make sure you want to work with all the 50m records, can you filter out some that are not relevant to your query.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
Yes, it should be slow if you read all 50 million records. There are four full table scans for two NOT EXISTS and two sorts.
And on top of that you have two conditions with Functions in them. You could of course use a computed column index to solve that. But that would depend on which version of SQL Server you are using.
So, what version of SQL Server are you using?
Do you need all data in one go or is it enough to filter out one user at a time?
|
|
|
|
|
Thanks for the information.
Im using SQL Server 2008 R2. And also i need to work with limited set of records from the 50 million records. So im planning to take the required records to seperate temp table and planing to execute the query.
|
|
|
|
|
Try this
Declare @tableA table ( startdate datetime, Enddate datetime, ID int)
insert into @tableA
select '2014-01-01', '2014-01-31', 12345 ID union all
select '2014-02-01', '2014-02-28', 12345 union all
select '2014-03-03', '2014-03-25', 12345 union all
select '2014-04-01', '2014-04-30', 12345 union all
select '2014-05-01', '2014-05-31', 12345 union all
select '2014-07-01', '2014-07-31', 12345
select ID, min(cdate) as startdate, max(cdate) as enddate
from (
select startdate as cdate, MONTH(startdate) as mon, ID
from @tableA
union all
select enddate as cdate, Month(enddate) as mon, ID
from @tableA
) Z
Group by ID, mon
hope it helps.
|
|
|
|
|
Could any one help me.what are the necessary steps to be followed to face the long running queries.please help me.
Thanks in Advance.
|
|
|
|
|
sathish48 wrote: what are the necessary steps to be followed to face the long running queries That depends. Is this a web app? Then you'll want to call it asynchronously so that you can provide feedback to client. Most important, do what you can to increase performance.
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
Assuming it is SQL server AND you are using a stored procedure!
Use the execution plan to identify indexes that may be required and identify the high cost parts of the query.
You then need to look into the structure of your query.
Never underestimate the power of human stupidity
RAH
|
|
|
|
|
|
Hi all, is there a way to select records from two tables where the right hand side table may or may not have a matching record ? What I'm trying to do is produce a yearly report of sales per month per salesperson and if there are no entries for a given month I still want a record for the salesperson but showing a zero amount. I've looked at various *solutions* on the web but they all produce a null set which is not what I want. Null values for the sales is acceptable but I always want the salesperson name returned
// Table 1 ( Salesperson )
Salesperson
Pete
Paul
Mary
// Table2 ( Sales )
Salesperson. Sale date. SaleAmount
Pete. 01/01/2015. 1000
Pete. 01/01/2015. 2000
I would like the report to show
Salesperson. Month. Sumofmonthsales
Pete Jan. 3000
Pete. Feb. 0
etc... all through to December, and ditto for the rest of the salespersons. Hope this makes sense ( sorry about the formatting )
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
Yes it is possible - almost anything is possible. This is one solution
SELECT Person,
S.Mth,
s.Yr,
s.Amount
FROM SalesPersonTable P
LEFT JOIN (SELECT SalesPersonID,
DATEPART(MONTH, SalseDate) Mth,
DATEPART(YEAR, salesDate) Yr,
SUM(amount) Amount
FROM Sales
WHERE DATEPART(YEAR, salesDate) = 2014
GROUP BY SalesPersonID,
DATEPART(MONTH, SalseDate),
DATEPART(YEAR, salesDate)) S ON S.SalesPersonID = P.SalesPersonID
Never underestimate the power of human stupidity
RAH
|
|
|
|