[thelist] SQL Challenge Question
Rob Smith
rob.smith at THERMON.com
Tue Oct 28 12:50:45 CST 2003
<snip Author="Jay Blanchard">
If you are using an auto-increment number of some sort you could always
get the latest one via the highest auto-increment number.
</snip>
Thanks Jay. I've done all that. Rudy and I've been going back and forth on
this [off list] and he gave me:
select P1.Project
, '>' as Diffs
, P1.ProjectID
, case when P1.ProjectVersion
<> P2.ProjectVersion
then '*' else ' ' end as ProjectVersion
, case when P1.ProjectOwner
<> P2.ProjectOwner
then '*' else ' ' end as ProjectOwner
, case when P1.ProjectTitle
<> P2.ProjectTitle
then '*' else ' ' end as ProjectTitle
, case when P1.ProjectDesc
<> P2.ProjectDesc
then '*' else ' ' end as ProjectDesc
, case when P1.ProjectCompetition
<> P2.ProjectCompetition
then '*' else ' ' end as ProjectCompetition
, case when P1.ProjectMemberID
<> P2.ProjectMemberID
then '*' else ' ' end as ProjectMemberID
, case when P1.ProjectRemarkID
<> P2.ProjectRemarkID
then '*' else ' ' end as ProjectRemarkID
, case when P1.ProjectAffiliateID
<> P2.ProjectAffiliateID
then '*' else ' ' end as ProjectAffiliateID
, case when P1.ProjectTimeID
<> P2.ProjectTimeID
then '*' else ' ' end as ProjectTimeID
, case when P1.ProjectEngID
<> P2.ProjectEngID
then '*' else ' ' end as ProjectEngID
from GPT.dbo.Projects P1
inner
join GPT.dbo.Projects P2
on P1.Project = P2.Project
where P1.Project = 'AP-12345'
and P1.ProjectVersion = '1'
and P2.ProjectVersion = '2'
union all
select Project
, ' '
, ProjectID
, cast(ProjectVersion as varchar(15))
, ProjectOwner
, ProjectTitle
, ProjectDesc
, ProjectCompetition
, cast(ProjectMemberID as varchar(15))
, cast(ProjectRemarkID as varchar(15))
, cast(ProjectAffiliateID as varchar(15))
, cast(ProjectTimeID as varchar(15))
, cast(ProjectEngID as varchar(15))
from GPT.dbo.Projects
where Project = 'AP-12345'
and ProjectVersion = '1'
union all
select Project
, ' '
, ProjectID
, cast(ProjectVersion as varchar(15))
, ProjectOwner
, ProjectTitle
, ProjectDesc
, ProjectCompetition
, cast(ProjectMemberID as varchar(15))
, cast(ProjectRemarkID as varchar(15))
, cast(ProjectAffiliateID as varchar(15))
, cast(ProjectTimeID as varchar(15))
, cast(ProjectEngID as varchar(15))
from GPT.dbo.Projects
where Project = 'AP-12345'
and ProjectVersion = '2'
order
by 1 -- project
, 2 -- diffs
, 3 -- projectid
Which creates a new row and places an * in the column where the two rows are
different per column.
Rob
More information about the thelist
mailing list