|
Posted by Erland Sommarskog on 04/06/06 00:42
Jeff Kish (jeff.kish@mro.com) writes:
> I have two tables
> one with app, msg, time
> (varchar,datetime,varchar)
>
> app1 start 2006-04-03 13:33:36.000
> app1 stuff 2006-04-03 13:33:36.000
> app1 end 2006-04-03 13:33:36.000
>
> and another with dr watson crash info
> (varchar, datetime)
> app1 2006-04-03 13:33:36.000
> app2 2006-04-03 13:33:36.000
> app1 2006-04-03 13:33:36.000
> app1 2006-04-03 13:33:36.000
> app3 2006-04-03 13:33:36.000
>
>
> I'm trying to make a query that will allow
> me to see what entries in the first table
> occurred wtihin, say, a minute, or maybe 40
> seconds of any of the entries in the second
> table.
>
> I want all the entries in the second table to
> be present, so I know it has to be some sort
> of join, probably an outer join.
There is a standard recommendation for this sort of posts, and that is
that you post:
o CREATE TABLE statments for your tables.
o INSERT statements with sample data.
o The desired output given the sample.
This makes it very easy to copy and paste into a query tool to develop a
tested solution.
With the information you have given, I can only give a non-tested solution,
which is also is just a guess of what you are looking for.
SELECT w.app1, w.datetimecol, o.event, o.datetimecol
FROM drwatson w
LEFT JOIN othertable o
ON w.app = o.app
AND abs(datediff(ss, w.datetimecol, o.datetime.col)) <= 40
--
Erland Sommarskog, SQL Server MVP, esquel@sommarskog.se
Books Online for SQL Server 2005 at
http://www.microsoft.com/technet/prodtechnol/sql/2005/downloads/books.mspx
Books Online for SQL Server 2000 at
http://www.microsoft.com/sql/prodinfo/previousversions/books.mspx
Navigation:
[Reply to this message]
|