>
>Cetin,
>
>You couldn't join them separately either. E.g.
>
select * from endPoint e inner join Gadgets g where g.GadgetID = e.endPointID and g.endPointType = 'Gadget'
>might fail if the domains of GidgetID, GizmoID, and GadgetID are not identical. New features might alleviate the technical problems, but it is still an incorrect design that is tied to implementation and not to set theory.
>
>You don't need BindingNo1ID...nID in the design. If you use xref tables the joins will take care of themselves.
I was thinking along the lines of:
with wireBindings (wireID,Direction, gadgetID)
as
(
select wireID,Direction,endPointID from wired where endPointType = 'Gadget'
)
select * from wireBindings w inner join gadgets g on w.gadgetID = g.gadgetID
If gadgetID,gidgetID,gizmoID domains are not of the same type than I'd question the design.
Cetin