Consulta hacia una u otra tabla según valor

Soy Claudia, tengo una consulta que no se me ocurre como hacer. Hago un Select a una tabla, y entre uno de los campos de esta tabla hay un código, y según ese código debo obtener además la descripción asociada a ese código, que se encuentra en una tabla maestra. Mi problema es que si dicho código es mayor que 9999 debe sacar la descripción de una tabla, y si es menor que ese valor tiene que sacar la descripción de otra tabla. ¿Hay alguna manera de hacerlo?

1 respuesta

Respuesta
1
Si existe;
http://www.adp-gmbh.ch/ora/sql/case_when.html
Y claro que entendí bien, el case lo utilizas de tal forma que puedes tener dos tablas de datos de donde quieres sacar tu información, si el campo de la tabla principal es la codificación indicada, pues lo tomas del case de la tabla 1, si es otro, regresas los datos de la tabla 2.
Así de sencillo.
Muchas Muchísimas Gracias. Salió todo bien.
Claudia
Puedes utilizar un case como lo indica la ayuda de sql server:
Utilizar CASE
La función CASE es una expresión especial de Transact-SQL que permite que se muestre un valor alternativo dependiendo del valor de una columna. Este cambio es temporal, con lo que no hay cambios permanentes en los datos. Por ejemplo, la función CASE puede mostrar California en un conjunto de resultados de una consulta de las filas que tengan el valor CA en la columna state.
La función CASE está compuesta de:
La palabra clave CASE.
El nombre de columna que se va a transformar.
Cláusulas WHEN que especifican las expresiones que se van a buscar y cláusulas THEN que especifican las expresiones que las van a reemplazar.
La palabra clave END.
Una cláusula AS opcional que define un alias de la función CASE.
En este ejemplo se muestra, en el conjunto de resultados de la consulta, el nombre completo del estado en el que vive cada autor:
SELECT au_fname, au_lname,
CASE state
WHEN 'CA' THEN 'California'
WHEN 'KS' THEN 'Kansas'
WHEN 'TN' THEN 'Tennessee'
WHEN 'OR' THEN 'Oregon'
WHEN 'MI' THEN 'Michigan'
WHEN 'IN' THEN 'Indiana'
WHEN 'MD' THEN 'Maryland'
WHEN 'UT' THEN 'Utah'
END AS StateName
FROM pubs.dbo.authors
ORDER BY au_lname
Véase también
CASE
Nullif
Coalesce
Procesamiento condicional de los datos con CASE
©1988-2000 Microsoft Corporation. Reservados todos los derechos.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas