Here ya go. I couldn't resist. It's not tested but it's close.
Format for Workfile: wko, proc1, proc2, proc3,... proc15
Format for Travel:    trav,  seq,    proc
---With fifteen possible non-zero values in WorkFile, and possibly 
having a match on all fifteen, you will have to have fifteen joins and 
there is no way getting around that.
---PLUS you must exclude the ones where there are more non-zero 
procedure values in one file than the other, even if the rest of them 
mathc of.
---Presumably where (Travel.Seq# = 1), the value in Travel.Proc 
corresponds to the Workfile.proc1, and where (Travel.Seq# = 2), the 
value in Travel.Proc corresponds to the Workfile.proc2, and so on.
With XF ( trav, tproc1, tproc2, tproc3, tproc4, tproc5,
  tproc6, tproc7, tproc8, tproc9, tproc11, tproc12,
  tproc13, tproc14, tproc15 ) 
AS (Select t1.trav, t1.proc,
  case when  t2.proc is null then 0 else t2.proc end,
  case when  t3.proc is null then 0 else t3.proc end,
  case when  t4.proc is null then 0 else t4.proc end,
  case when  t5.proc is null then 0 else t5.proc end,
  case when  t6.proc is null then 0 else t6.proc end,
  case when  t7.proc is null then 0 else t7.proc end,
  case when  t8.proc is null then 0 else t8.proc end,
  case when  t9.proc is null then 0 else t9.proc end,
  case when t10.proc is null then 0 else t10.proc end,
  case when t11.proc is null then 0 else t11.proc end,
  case when t12.proc is null then 0 else t12.proc end,
  case when t13.proc is null then 0 else t13.proc end,
  case when t14.proc is null then 0 else t14.proc end,
  case when t15.proc is null then 0 else t15.proc end
From Travel t1
Left Outer Join Travel t2  on t2.trav  = t2.trav  and t2.seq = 2
Left Outer Join Travel t3  on t3.trav  = t3.trav  and t3.seq = 3
Left Outer Join Travel t4  on t4.trav  = t4.trav  and t4.seq = 5
Left Outer Join Travel t5  on t5.trav  = t5.trav  and t5.seq = 6
Left Outer Join Travel t6  on t6.trav  = t6.trav  and t6.seq = 7
Left Outer Join Travel t7  on t7.trav  = t7.trav  and t7.seq = 8
Left Outer Join Travel t8  on t8.trav  = t8.trav  and t8.seq = 9
Left Outer Join Travel t9  on t9.trav  = t9.trav  and t9.seq = 10
Left Outer Join Travel t10 on t10.trav = t10.trav and t10.seq = 11
Left Outer Join Travel t11 on t11.trav = t11.trav and t11.seq = 12
Left Outer Join Travel t12 on t12.trav = t12.trav and t12.seq = 12
Left Outer Join Travel t13 on t13.trav = t13.trav and t13.seq = 13
Left Outer Join Travel t14 on t14.trav = t14.trav and t14.seq = 14
Left Outer Join Travel t15 on t15.trav = t15.trav and t15.seq = 15
   )
Select trav, wko
From  Travel  Join  WorkFile
  On tproc1  = proc1  and tproc2  = proc2  and tproc3  = proc3
 and tproc4  = proc4  and tproc5  = proc5  and tproc6  = proc6
 and tproc7  = proc7  and tproc8  = proc8  and tproc9  = proc9
 and tproc10 = proc10 and tproc11 = proc11 and tproc12 = proc12
 and tproc13 = proc13 and tproc14 = proc14 and tproc15 = proc15
--aec
Hi everyone,
I need to come up with an SQL statement that will compare a set of values 
in one tables and find a matching set of rows in another table.  The 
relationships go like this:
A work order contains 15 fields defined as zoned 4.2 that are called 
procedure numbers.
A traveler document has a many to one relationship with the traveler 
procedure table.  The relevant fields from this table are traveler ID 
number and procedure number, defined the same as in the work order table.
Given a work order number, I need to find all traveler ID numbers whose 
related traveler procedure table records match those from the work order 
table, including being in the same sequence.
Or in lovely ASCII art:
__________________________________
| WO# | PROC 1 | PROC 2 | PROC 3 |
----------------------------------
|  1  |  1.01  |  1.02  |  1.03  |
----------------------------------
matches:
________________
| TRAV# | PROC |
----------------
|  123  | 1.01 |
----------------
|  123  | 1.02 |
----------------
|  123  | 1.03 |
----------------
So my SQL statement should return "123" as the traveler ID number that 
matches the procedures from the given work order number.
I'm not super great at constructing SQL queries, so this might be super 
simple, but I haven't been able to come up with anything that works. 
Please help me out :)
James Rich
if you want to understand why that is, there are many good books on
the design of operating systems. please pass them along to redmond
when you're done reading them :)
 	- Paul Davis on ardour-dev
  
 
As an Amazon Associate we earn from qualifying purchases.