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

select complicado, para mi

Estas en el tema de select complicado, para mi en el foro de Bases de Datos General en Foros del Web. Hola: Estoy desarrollando un aplicación asp, con un base de datos en SQL Server. Tengo ciertos conocimientos de SQL, pero no tantos para diseñar el ...
  #1 (permalink)  
Antiguo 06/02/2003, 12:00
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
select complicado, para mi

Hola:

Estoy desarrollando un aplicación asp, con un base de datos en SQL Server.

Tengo ciertos conocimientos de SQL, pero no tantos para diseñar el select que quiero.

Tengo varias tablas, relacionadas entre si.

Albums-->con campos idAlbum (clave), y ...
Albums_Formatos-->con campos idAlbum e idFormato.
Formatos-->con campos idFormato (clave), y chDescrip.

Es decir, tengo un album, que tendra al menos un formato, o varios.

Lo que quiero es hacer un select que me saque los albums, con las descripciones de los formatos de cada uno.

Consigo que con la query

SELECT Albums.idAlbum,chDescrip
FROM Albums,Album_Formatos,Formatos
WHERE
Albums.idAlbum = Album_Formatos.idAlbum AND
Formatos.idFormato = Album_Formatos.idFormato

me saque varias "lineas" por cada album, una por cada formato, es decir

idAlbum chDescrip
------- ------------
1 formato1
2 formato1
3 formato2
4 formato1
4 formato2
4 formato3
4 formato4
5 formato3
6 formato2


pero ¿se puede sacar una sola para cada album, con todos sus formatos?.

Bueno, espero haber explicado bien cual es mi problema.

Muuuuuuuuchas gracias por anticipado.

__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #2 (permalink)  
Antiguo 06/02/2003, 12:29
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
fjmasero:

No puedes obtener un solo registro en este caso.

Lo que podrías hacer es ir guardando en un arreglo para así tener una sola línea por album

Me explico?

Saludos
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #3 (permalink)  
Antiguo 06/02/2003, 12:34
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 3 meses
Puntos: 0
ya creo que funciona.......

SELECT
A.ALBUMS,
C.CHDESCRIP
FROM
ALBUMS A,
ALBUMS_FORMATO B,
FORMATO C
WHERE
A.IDALBUMS=B.ISALBUMS
AND B.IDFORMATO=C.IDFORMATO


Prueba y me cuentas, pero me cuentas
  #4 (permalink)  
Antiguo 06/02/2003, 12:41
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
Hola vamp_02:

Gracias por contestar, pero el select que me propones es el mismo que el mio, pero usando alias para las tablas.

Saludos
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #5 (permalink)  
Antiguo 06/02/2003, 12:42
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
¿¿¿???
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #6 (permalink)  
Antiguo 06/02/2003, 12:55
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 3 meses
Puntos: 0
Lo probaste?
  #7 (permalink)  
Antiguo 06/02/2003, 12:58
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
vamp_02:

Lo que necesita es un registro por cada album

Saludos
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #8 (permalink)  
Antiguo 06/02/2003, 13:05
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 3 meses
Puntos: 0
Sip se puede, si la uqery la vas a manejar en asp, se puede.

Eso de que te salgan varios album, es lo de menos, porque te saldrantantos albun, eso si repetidos en la misma cantidad que formatos tengas, mientras mas variable sean, mas lines.

Bueno ahora, si los quieres postrar en una asp, seria, hace un arreglo, para que reciba los datos de la query y despues, colocar en una tabla el campo fijo:

Es decir, te envio una muestra, yo trabajo con Oracle y ASp:

Sigue en otro post
  #9 (permalink)  
Antiguo 06/02/2003, 13:08
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 3 meses
Puntos: 0
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<CENTER>
<table width="83%" border="1">
<tr bgcolor="#9999FF">
<td width="4%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">ID</font></strong></div></td>
<td width="11%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">NUM.
ADM</font></strong></div></td>
<td width="9%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">MNDS</font></strong></div></td>
<td width="16%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">FCH
EMI</font></strong></div></td>
<td width="12%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">FCH
VCTO</font></strong></div></td>
<td width="16%">
<div align="center"><strong><font size="2" face="Arial, Helvetica, sans-serif">COD
IATA</font></strong></div></td>
</tr>
<tr>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(0,0) %></font></div></td>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(1,0) %></font></div></td>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(2,0) %></font></div></td>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(3,0) %></font></div></td>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(4,0) %></font></div></td>
<td><div align="center"><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(5,0) %></font></div></td>
</tr>
</table>
<BR>
<table width="86%" border="1">
<tr bgcolor="#9999FF">
<td width="12%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">RUT</font></strong></font></div></td>
<td width="11%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">COD
CIB</font></strong></font></div></td>
<td width="29%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">NOMBRE</font></strong></font></div></td>
<td width="32%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">DIRECCION</font></strong></font></div></td>
<td width="8%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">COMUNA</font></strong></font></div></td>
<td width="8%">
<div align="center"><font size="2"><strong><font face="Arial, Helvetica, sans-serif">CIUDAD</font></strong></font></div></td>
</tr>
<tr>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(6,0) %></font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(7,0) %></font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(8,0) %></font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(9,0) %></font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(10,0) %></font></td>
<td><font size="2" face="Arial, Helvetica, sans-serif"><%= VS_Data(11,0) %></font></td>
</tr>
</table>
<br><br>
  #10 (permalink)  
Antiguo 06/02/2003, 13:12
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
ok vamp_02:

Eso es lo que al principio dije, debe colocar los datos en un arreglo.

Pero obtener con una select un registro por album ... no se puede

o sí?

Saludos

Manuel
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #11 (permalink)  
Antiguo 06/02/2003, 13:13
Avatar de MCasanova  
Fecha de Ingreso: enero-2002
Ubicación: Concepción, La Perla del BioBio, Chile
Mensajes: 144
Antigüedad: 22 años, 4 meses
Puntos: 0
rectifico:

un registro con todos sus formatos por album
__________________
"La inteligencia consiste no sólo en el conocimiento, sino también en la destreza de aplicar los conocimientos en la práctica", Aristóteles
[img][/img]
  #12 (permalink)  
Antiguo 06/02/2003, 13:24
Avatar de fjmasero  
Fecha de Ingreso: diciembre-2002
Mensajes: 488
Antigüedad: 21 años, 5 meses
Puntos: 1
MUUUUCHAS GRACIAS A TODOS:

Por lo que me decis, con sql no se puede, así que lo que hare será manejar el recordset o el array.

Insisto, muuuchas gracias.
__________________
No es sabio el que sabe sino el que no sabe y quiere aprender
  #13 (permalink)  
Antiguo 06/02/2003, 13:33
Avatar de vamp_02  
Fecha de Ingreso: febrero-2002
Ubicación: Santiago de Chile
Mensajes: 367
Antigüedad: 22 años, 3 meses
Puntos: 0
Disculpa compañero MCasanova, pero no lei bien el encabezado del post, pero no volvera a pasar, ahora yo ya he hecho lo que el otro compañero necesita, y es como te digo , hay que pasarlos a un arreglo y posterior mente tomar los campor de a uno para ponerlos en la pagina
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 20:15.