This query provides "To" and "From" Fields as well. I like your query for PK constraints...
select
so1.Name as FKConstraint,
so.Name as FromTable,
sc.Name as FromColumn, so2.Name as ToTable, sc1.Name as ToColumn
From sysobjects so (nolock)
JOINsysforeignkeys fk (nolock) on so.[id] = fk.fkeyid
joinsyscolumns sc (nolock) on fk.fkeyid = sc.id and fk.fkey = sc.colid
JOINsysobjects so2 (nolock) on fk.rkeyid = so2.id
joinsyscolumns sc1 (nolock) on fk.rkeyid = sc1.id and fk.rkey = sc1.colid
JOINsysobjects so1 (nolock) on fk.constid = so1.id
whereso.name = X