Consulta sql

04/10/2006 - 08:51 por Catalin Lungu | Informe spam
Hola,
Necesito construir una sentencia que me devuelva cada nombre de campo de una
tabla que tiene relación con otra tabla, también el nombre de la tabla y del
campo al que está relacionado.
Por ej.:

tabla1 (c1, c2, codcli)
tabla2(codigo, c3, c4)
Relacion: codcli --> codigo

Resultado:
codcli, tabla2, codigo

Muchas gracias de antemano.

Preguntas similare

Leer las respuestas

#6 Fredy \(Co\)
05/10/2006 - 17:53 | Informe spam
te la complemento de la siguiente manera, para obtener la tabla
referenciada:



select kcu.column_name as campo_local, ccu.table_name as tabla_ref,

ccu.column_name as campo_ref, ccu1.table_name as tabla_ref1 from
INFORMATION_SCHEMA.table_constraints tc

inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu on kcu.constraint_name
tc.constraint_name

inner join INFORMATION_SCHEMA.referential_constraints rc on

rc.constraint_name = tc.constraint_name

inner join INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu on

ccu.constraint_name = tc.constraint_name

inner join INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu1 on

ccu.column_name = ccu1.column_name

where tc.table_name = 'acciones'

and ccu1.table_name <> 'acciones'

OJO: Aca se asume que los nombres de los campos que hacen union entre las
tablas, son los mismos! (A mi me funciona perfectamente en mi DWH!!)

Saludos desde Colombia...



Fredy (co)


"Catalin Lungu" escribió en el mensaje
news:
Ya lo tengo por si a alguien le hace falta.

select kcu.column_name as campo_local, ccu.table_name as tabla_ref,
ccu.column_name as campo_ref from INFORMATION_SCHEMA.table_constraints tc
inner join INFORMATION_SCHEMA.KEY_COLUMN_USAGE kcu on kcu.constraint_name
= tc.constraint_name
inner join INFORMATION_SCHEMA.referential_constraints rc on
rc.constraint_name = tc.constraint_name
inner join INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE ccu on
ccu.constraint_name = tc.constraint_name
where tc.table_name = 'acciones'

email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida