Hi, I have a key structure like so: a c b +----------+ +---------+ +----------+ | PriKey1 |--->| ForKey |<---| PriKey2 | | | | Flag | | | +----------+ +---------+ +----------+ ...where c.ForKey is a value from PriKey1 OR PriKey2, which are different values. All fields have the same data type; a.PriKey1 and b.PriKey2 are sequences. How does one enfore referential integrity in this structure so that c.ForKey references a.PriKeya when Flag is True or references b.PriKey2 when Flag is False? Looked pretty hard through the lists and on Google last night with no luck :( -Ryan Riehle http://www.buildways.com KEYWORDS: one foreign key, multiple primary keys, multiple tables, generalization, superclass, subclass, constraint ---------------------------(end of broadcast)--------------------------- TIP 1: subscribe and unsubscribe commands go to majordomo@postgresql.org