Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

Mostrar campos con alias distintos

Estas en el tema de Mostrar campos con alias distintos en el foro de SQL Server en Foros del Web. Hola Foreros !!!! Tengo una tabla con los campos: id | parent | categoria Las categorías son gerárquicas, es decir se relacionan con el parent ...
  #1 (permalink)  
Antiguo 12/10/2009, 16:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
Pregunta Mostrar campos con alias distintos

Hola Foreros !!!!

Tengo una tabla con los campos: id | parent | categoria

Las categorías son gerárquicas, es decir se relacionan con el parent (unas categorías pertenecen a otras en la misma tabla).

Como puedo hacer para mostrar los campos que pertenescan al parent X con un 'AliasX', los campos del parent Y con 'Alias Y' y los campos del parent Z con 'Alias Z'.

es posible esto???? Todo sale de la misma tabla.

No tengo idea como hacerlo. solo puedo sacar en base a una parent de este modo:

Código:
Select	Categoria as 'Alias X'
From	Category
Where	Parent = 1
Order By CatDesc
Pero no se como mostrar todo con sus alias respectivos. Ayuda !!!
  #2 (permalink)  
Antiguo 16/10/2009, 18:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Mostrar campos con alias distintos

Algún ejemplo foreros ??
  #3 (permalink)  
Antiguo 19/10/2009, 10:43
 
Fecha de Ingreso: abril-2009
Mensajes: 40
Antigüedad: 15 años
Puntos: 0
Respuesta: Mostrar campos con alias distintos

Código 20:
Ver original
  1. no se si se pueda hacer eso
  #4 (permalink)  
Antiguo 19/10/2009, 12:27
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Mostrar campos con alias distintos

Realmente es dificil entender lo que necesitas.
Mejor replantea tu problema.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #5 (permalink)  
Antiguo 19/10/2009, 16:26
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Mostrar campos con alias distintos

Ok flaviovich. Aqui va más barajeada.


Tengo una tabla llamada category con los campos: id | parent | categoria

El campo id solo es el autonumérico, el id de cada categoría.
El campo categoría pues es un varchar con el nombre de las diferentes categorías.
El campo parent es de tipo int y es el que relaciona las categorías padre con las hija.

Ejemplo.

id | parent | categoria
1 1 cat_uno
2 2 cat_dos
3 3 cat_tres
4 1 cat_cuatro
5 1 cat_cinco
6 2 cat_seis

Por ejemplo:
Deseo mostrar los registros de manera que se vea que cat_cuatro y cat_cinco pertenescan a cat_uno con un alias "cat_1" y en la misma consulta mostrar cat_seis con alias "cat_2"


No tengo idea como hacerlo, si me pueden aorientar por favor.

Solo logro mostrar los registros que pertenecen al primero pero no todos, es decir, del ejemplo solo obtengo se vea que cat_cuatro y cat_cinco pertenescan a cat_uno pero los demas no se como obtenerlos.

Utilizo éste code:

Código:
Select	Categoria as 'Alias X'
From	Category
Where	Parent = 1
Order By CatDesc
  #6 (permalink)  
Antiguo 19/10/2009, 16:40
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Mostrar campos con alias distintos

Cómo los quieres mostrar? Es decir, cuál va a ser la salida.
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #7 (permalink)  
Antiguo 22/10/2009, 08:57
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Mostrar campos con alias distintos

Deseo mostrar los registros de manera que se vea que cat_cuatro y cat_cinco pertenescan a cat_uno con un alias "cat_1" y en la misma consulta mostrar cat_seis con alias "cat_2"

Es decir, las columnas que se necesiten para mostrar los registros.

| Cat_1 | Cat_2
cat_cuatro cat_seis
cat_cinco

Espero puedas apoyarme Flavio
  #8 (permalink)  
Antiguo 22/10/2009, 09:20
Avatar de flaviovich  
Fecha de Ingreso: agosto-2005
Ubicación: Lima, Peru
Mensajes: 2.951
Antigüedad: 18 años, 8 meses
Puntos: 39
Respuesta: Mostrar campos con alias distintos

No lo he probado pero la idea ya está.
Código SQL:
Ver original
  1. SELECT C.id, CASE WHEN C.id = 1 THEN P.categoria ELSE '' END [cat_uno],
  2. CASE WHEN C.id = 2 THEN P.categoria ELSE '' END [cat_dos]
  3. FROM Category C
  4. LEFT Category P ON C.id = P.parent
  5. WHERE C.id = C.parent
Suerte!
__________________
No repitamos temas, usemos el Motor de busquedas
Plantea bien tu problema: Ayúdanos a ayudarte.
  #9 (permalink)  
Antiguo 22/10/2009, 15:48
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Mostrar campos con alias distintos

Vientos flaviovich.

Ya probe el query, agregue la palabra Join por que me marcaba error

Código:
SELECT C.id, CASE WHEN C.id = 1 THEN P.categoria ELSE '' END [cat_uno],
CASE WHEN C.id = 2 THEN P.categoria ELSE '' END [cat_dos]
FROM Category C
LEFT JOIN Category P ON C.id = P.parent
WHERE C.id = C.parent
y me muestra 3 columnas id | cat_uno | cat_dos. La columna id me trae los registros (algunos repetidos) pero las 2 columnas (cat_uno,cat_dos) están vacías.

Que puede ser lo que falte ?? Puedes apoyarme?? De cualquier forma ya me diste una idea.

Gracias por tu apoyo.

Última edición por LePanthere; 23/10/2009 a las 07:59
  #10 (permalink)  
Antiguo 26/10/2009, 12:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Mostrar campos con alias distintos

Cita:
Iniciado por LePanthere Ver Mensaje
Vientos flaviovich.

Ya probe el query, agregue la palabra Join por que me marcaba error

Código:
SELECT C.id, CASE WHEN C.id = 1 THEN P.categoria ELSE '' END [cat_uno],
CASE WHEN C.id = 2 THEN P.categoria ELSE '' END [cat_dos]
FROM Category C
LEFT JOIN Category P ON C.id = P.parent
WHERE C.id = C.parent
y me muestra 3 columnas id | cat_uno | cat_dos. La columna id me trae los registros (algunos repetidos) pero las 2 columnas (cat_uno,cat_dos) están vacías.

Que puede ser lo que falte ?? Puedes apoyarme?? De cualquier forma ya me diste una idea.

Gracias por tu apoyo.
  #11 (permalink)  
Antiguo 26/10/2009, 12:25
 
Fecha de Ingreso: septiembre-2009
Mensajes: 34
Antigüedad: 14 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Mostrar campos con alias distintos

Cita:
Iniciado por flaviovich Ver Mensaje
No lo he probado pero la idea ya está.
Código SQL:
Ver original
  1. SELECT C.id, CASE WHEN C.id = 1 THEN P.categoria ELSE '' END [cat_uno],
  2. CASE WHEN C.id = 2 THEN P.categoria ELSE '' END [cat_dos]
  3. FROM Category C
  4. LEFT Category P ON C.id = P.parent
  5. WHERE C.id = C.parent
Suerte!
Aun no puedo sacarlo flaviovich.

La columna id me trae todos los registros y me muestra las otras 2 columnas que deseo (cat_uno,cat_dos) pero las muestra vacías.

Puedes apoyarme con este atore??

Código:
Select Id, categoria,
CASE 
When Id = 473 Then Categoria END [Soporte],
CASE
When Id = 451 Then Categoria END [Pagos]
FROM Category
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:23.