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

Seleccion de campos en varias tablas

Estas en el tema de Seleccion de campos en varias tablas en el foro de Bases de Datos General en Foros del Web. Hola! no encontré nada por ahi buscando. A ver, el problema es que tengo un par de tablas que van algo así: TABLA 1 ID, ...
  #1 (permalink)  
Antiguo 20/07/2004, 15:06
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 6 meses
Puntos: 59
Seleccion de campos en varias tablas

Hola! no encontré nada por ahi buscando.

A ver, el problema es que tengo un par de tablas que van algo así:

TABLA 1

ID, NOMBRE, etc...

TABLA 2

ID, ID_tabla1, etc...

Quiero seleccionar * from TABLA 1 y si hay un ID_tabla1 en la tabla 2 que se corresponda con la tabla 1, que lo imprima. (para que debajo de la impresión del campo de tabla1 salga el ID_tabla1 de la tabla2)

Tebgo esto, pero no me imprime los campos que no tienen una correspondencia en ID_tabla1.

Código PHP:
$query_select "SELECT videos.img1,videos.img2,videos.img3,videos.img4,videos.descripcion,videos.id_cvv,videos.titulo,partes.id_cvv,partes.id_video  FROM videos,partes WHERE videos.id=".$id." and partes.id_video=".$id.""
Donde $ID es el campo ID en tabla1 y por supuesto el campo ID_tabla1 en la tabla2 (en caso de existir, repito)


Gracias de antemano por la ayuda!!
__________________
Cool Village
@Wakkos
  #2 (permalink)  
Antiguo 21/07/2004, 06:18
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 4 meses
Puntos: 129
Hola Wakkos,

Esta pregunta corresponde al foro de "Base de datos" que es donde se tratan temas sobre "SQL".

-------------------

Sobre tu problema ..
Primeramente des establecer la relación entre ambas tablas bajo el campo que los asocia .. por ende ha de ser = en ambas tablas .. a su vez en tu caso tal vez requieras otra condición extra como que tal campo de alguna de las tablas (o combinacion de tablas) cumpla otras condiciones extra .. en tal caso añades más condiciones "AND/OR"

$sql="SELECT videos.img1,videos.img2,videos.img3,videos.img4,vi deos.descripcion,videos.id_cvv,videos.titulo,parte s.id_cvv,partes.id_video FROM videos,partes WHERE videos.id=partes.id_video AND tabla.campo='".$condicion."'";

Sería bueno que leas sobre "Normalización" (aplicada a Mysql) .. pues esta forma no es la única para resolver el problema (ni la más óptima) pues .. tienes también "Uniones" (INNERT JOIN y demás) para hacer esto mismo.

Te dejo un tutorial al respecto:
http://www.mysql-hispano.org/page.php?id=16

Un saludo,
  #3 (permalink)  
Antiguo 21/07/2004, 08:07
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 6 meses
Puntos: 59
He tratado casi todas las combinaciones condicionales, pero siempre tengo el mismo resultado: me muestra solo los campos con id compartida (videos.id=partes.id_video)
__________________
Cool Village
@Wakkos
  #4 (permalink)  
Antiguo 21/07/2004, 08:41
Avatar de Wakkos
Colaborador
 
Fecha de Ingreso: octubre-2001
Ubicación: (cerca)
Mensajes: 1.795
Antigüedad: 22 años, 6 meses
Puntos: 59
bueno, el caso es que pueden llamarme estúpido si quieren. hice lo siguiente:

Obtuve * from tabla1 y tabla 2 comparé si los campos tabla1.id y tabla2.tabla1_id eran iguales e imprimí el resultado.
__________________
Cool Village
@Wakkos
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 07:16.