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

Prioridad de campos al hacer un join

Estas en el tema de Prioridad de campos al hacer un join en el foro de Mysql en Foros del Web. Buenas, tengo una consulta relacionada con joins, supongamos que teng dos tablas: (1 registro) a.id a.precio (total) (Tiene varios registros) b.id b.a_id b.precio. (unitario) las ...
  #1 (permalink)  
Antiguo 22/08/2011, 00:26
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 5 meses
Puntos: 890
Prioridad de campos al hacer un join

Buenas, tengo una consulta relacionada con joins, supongamos que teng dos tablas:

(1 registro)
a.id
a.precio (total)

(Tiene varios registros)
b.id
b.a_id
b.precio. (unitario)

las relaciono con un join luego recorro los resultados, los hace de manera correcta, pero al querer tomar el valor precio de b(b.precio), no es posible, siempre me toma el precio de a(a.precio). Hay alguna manera de poder dar prioridad a b.precio? O de poder anular en la consulta a a.precio.

1. Solamente debo hacerlo en una consulta, no puedo modificar nada e las tablas ni cambiar el nombre del campo. En esta query solo necesito el valor de b.precio.

Gracias de antemano. :)


Código PHP:
Ver original
  1. $this->db->join('a', 'a.id = b.a_id');
  2. Generaria:
  3. JOIN a ON a.id = b.a_id
__________________
Drupal Argentina
  #2 (permalink)  
Antiguo 22/08/2011, 05:36
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años
Puntos: 300
Respuesta: Prioridad de campos al hacer un join

Puesto que un id de a puede estar relacionado con varios id de b, debes hacer la consulta sobre el b.id y su b.precio

SELECT b.id, b.precio, a.id FROM a INNER JOIN b ON a.id = b.a_id

Etiquetas: campos, join, prioridad, query, registros, tabla
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 04:17.