Foros del Web » Programando para Internet » PHP »

filtro de registros al seleccionar 2 tablas

Estas en el tema de filtro de registros al seleccionar 2 tablas en el foro de PHP en Foros del Web. Buenos días, Necesito seleccionar 2 tablas de una base. Tabla 1: collaboradors: contiene la relación de clientes, los campos son “Nom”, “Cognoms”, … Tabla 2: ...
  #1 (permalink)  
Antiguo 31/10/2010, 07:11
 
Fecha de Ingreso: julio-2009
Mensajes: 10
Antigüedad: 14 años, 9 meses
Puntos: 0
filtro de registros al seleccionar 2 tablas

Buenos días,

Necesito seleccionar 2 tablas de una base.
Tabla 1: collaboradors: contiene la relación de clientes, los campos son “Nom”, “Cognoms”, …
Tabla 2: pagaments: contiene la relación de los pagos a hacer, los campos son: “base”, “estat”, …

La tabla 1 contiene 10 registros, la tabla 2 filtrada por el campo “estat” contiene 2 registros.

Necesito hacer una consulta que de como resultado los 2 registros pero que obtenga también los datos de los campos de la tabla 1 para identificar los clientes:

$consulta=mysql_query('SELECT Nom, Cognoms, estat FROM collaboradors,pagaments WHERE `estat` LIKE \'Pendent processar Adm.\' LIMIT 0, 30',$conexion);
Con esta consulta obtengo los 10 registros (incluso si complemento los campos de la forma collaboradors.Nom, collaboradors.Cognoms, pagaments.estat)

Con la consulta del filtro de la tabla 2 aparecen correctamente los 2 registros, pero no obtengo los datos de los clientes.
$consulta=mysql_query('SELECT * FROM `pagaments` WHERE `estat` LIKE \'Pendent processar Adm.\' LIMIT 0, 30 ',$conexion);

Gracias por vuestro tiempo
  #2 (permalink)  
Antiguo 31/10/2010, 14:00
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: filtro de registros al seleccionar 2 tablas

Así a lo rápido sin pensar demasiado...

WHERE estat LIKE 'Pendent processar Adm' && collaboradors.estat=pagaments.estaT LIMIT...bla,bla

El usar mayusculas en campos me ha dado errores en versiones de Mysql "Cognoms".

Bona nit.
  #3 (permalink)  
Antiguo 31/10/2010, 14:19
Avatar de Vun
Vun
Colaborador
 
Fecha de Ingreso: agosto-2009
Ubicación: Benalmádena, España
Mensajes: 2.265
Antigüedad: 14 años, 9 meses
Puntos: 150
Respuesta: filtro de registros al seleccionar 2 tablas

Te falta relacionar las tablas collaboradors y pagaments por algun campo, revisa el JOIN en las consultas http://dev.mysql.com/doc/refman/5.0/es/join.html
  #4 (permalink)  
Antiguo 01/11/2010, 13:43
 
Fecha de Ingreso: julio-2009
Mensajes: 10
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: filtro de registros al seleccionar 2 tablas

Gracias albertius, pero con tu consulta obtengo tambien los 10 registros.

Vun, las tablas tienen un campo en común (id) en la tabla collaboradors és autonumérico i en la tabla pagaments el id puede coincidir con varios registros de la primera tabla. Pensaba que con que tubieran un campo en común bastaba. ¿Debo relacionarlas en phpmysql de alguna manera?

He investigado acerca del JOIN pero no he sido capaz de construir la consulta.
  #5 (permalink)  
Antiguo 01/11/2010, 17:19
 
Fecha de Ingreso: marzo-2003
Ubicación: Barcelona
Mensajes: 107
Antigüedad: 21 años, 2 meses
Puntos: 0
Respuesta: filtro de registros al seleccionar 2 tablas

SELECT T1.base, T1.estat, T2.Nom, T2.Cognoms, T2.estat FROM pagaments T1
LEFT JOIN collaboradors T2 ON T1.estat=T2.estat
WHERE T1.estat LIKE 'Pendent processar Adm'
LIMIT bla, bla

La tabla pagaments ahora tiene el alias T1
Tabla collaboradors alias T2

Vun se refiere a que las relaciones en la misma consulta, en este caso es "T1.estat=T2.estat"

Saludos.

Última edición por albertius; 01/11/2010 a las 17:33

Etiquetas: registros, seleccionar, tablas, filtros
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 14:02.