Foros del Web » Programando para Internet » PHP »

Problema mysql campos ambiguos

Estas en el tema de Problema mysql campos ambiguos en el foro de PHP en Foros del Web. Holas, actualmente estoy haciendo una consulta en mysql en las que llamo a dos tablas 'tabla1' y 'tabla2' y en las dos existe el campo ...
  #1 (permalink)  
Antiguo 21/05/2005, 12:53
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Problema mysql campos ambiguos

Holas, actualmente estoy haciendo una consulta en mysql en las que llamo a dos tablas 'tabla1' y 'tabla2' y en las dos existe el campo con el nombre 'FECHA'. Ahora bien si yo al extraer los datos en una sola consulta haciendo un array... como llamo al campo FECHA de una o de otra... por que al hacer esto:

Código PHP:
echo $row['fecha']; 
Me arroja el resultado de tabla1, pero y siquisiera el de tabla2?


SALUDOS Y GRACIAS DE ANTEMANO
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #2 (permalink)  
Antiguo 21/05/2005, 13:02
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 15 años, 10 meses
Puntos: 771
Hola RUX

A ver si esto te sirve:

SELECT tabla1.fecha as fec...

y luego usas: echo $row['fec'];

Saludos,
  #3 (permalink)  
Antiguo 21/05/2005, 14:12
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola JavierB:

Esta es la sentencia que utilizo:
SELECT * FROM tabla1, tabla2, WHERE dato ='1'

Necesito todos los campos de las dos tablas, pero el campo 'fecha' existe en las dos y no se como identificar a cada 1.

Gracias otra vez
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #4 (permalink)  
Antiguo 21/05/2005, 14:49
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
JavierB te lo menciona. en el SELECT, debes usar un as (algo así como un "como" valga la redundancia) es decir
Código PHP:
SELECT tabla1.fecha as fecha_tabla_1 FROM tabla1tabla2WHERE dato ='1'
Ves el "as", esto quiere decir q saca la fecha de la tabla 1 como fecha_tabla_1, por lo q para acceder a ella, si hacer un mysql_fetch_array, sería, como ej., algo así $row['fecha_tabla_1'].
Para q no se te compliq si lo sacas en un while, podrías hacer algo así
Código PHP:
while($row mysql_fetch_array($consulta)){
if(empty(
$fecha){
echo 
$row['fecha_tabla_1'];
}else{
echo 
$row['fecha'];
}

Saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #5 (permalink)  
Antiguo 21/05/2005, 14:54
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Hola!!! Gracias por contestar...

Pero de esa forma no obtendría los otros datos de tabla1 y tabla2 solo la fecha de ambos y yo lo que quiero es obtener todos los datos y la fecha de ambos identificada para cada tabla... no se si me explico bien?

SALUDOS Y GRACIAS NUEVAMENTE
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #6 (permalink)  
Antiguo 21/05/2005, 15:12
 
Fecha de Ingreso: enero-2004
Ubicación: Salto
Mensajes: 484
Antigüedad: 13 años, 11 meses
Puntos: 2
Ya lo se, es obvio, en ves de usar el clásico "*" (todo), deberás escribir todos los campos q deseas sacar y agregarle q la fecha de la tabla1 debe sacarla como fecha_tabla_1.
EMPEÑATE!!!
saludos cuidate
__________________
Dios dira que esto no es justo, pero lo sera...
  #7 (permalink)  
Antiguo 21/05/2005, 15:46
Avatar de centinela77  
Fecha de Ingreso: diciembre-2004
Ubicación: León
Mensajes: 143
Antigüedad: 13 años
Puntos: 1
Solo tendrás que visualizar el campo exacto del array que estás recorriendo: que podría ser por ejemplo $row[1] y $row[4] ...

es lo más lógico y no le des más vueltas.
  #8 (permalink)  
Antiguo 22/05/2005, 06:31
Avatar de RUX
RUX
 
Fecha de Ingreso: enero-2004
Ubicación: Las Palmas de Gran Canari
Mensajes: 566
Antigüedad: 13 años, 10 meses
Puntos: 0
Vale muchisimas gracias

SALUDOS
__________________
Rux.es - Sitio Personal | IslaRock.com - Todo Rock
  #9 (permalink)  
Antiguo 24/05/2005, 11:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
En SQL puedes hacer algo tipo:

SELEC *.tabla1,*.tabla2,fecha.tabla2 as fecha_tabla2 FROM tabla1,tabla2 ....

Es decir usas "alias" .. si quieres todos los campos de una tabla .. usas el "comodín" (*) .. el campo que quieres con alias .. lo añades ("fecha.tabla2 as fecha_tabla2") y lo accedes por tu "row['fecha_tabla2"]" clásico (nombrando el "nombre del alias creado").

Un saludo,
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 22:59.