Foros del Web » Programando para Internet » PHP »

Modificar consulta para que tambien mire en otra tabla

Estas en el tema de Modificar consulta para que tambien mire en otra tabla en el foro de PHP en Foros del Web. Hola amigos vereis, Tengo esta consulta que funiona muy bien, la cosa es que necesito que tambien busque en una tabla llamada listas que contiene ...
  #1 (permalink)  
Antiguo 31/10/2013, 02:20
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 10 años, 6 meses
Puntos: 0
Modificar consulta para que tambien mire en otra tabla

Hola amigos vereis,

Tengo esta consulta que funiona muy bien, la cosa es que necesito que tambien busque en una tabla llamada listas que contiene los campos id, descripcion, activo.



Código MySQL:
Ver original
  1. select e.id, e.descuento, md.logo, m.imagen, md.nombre as nombre_general, md.web, ed.longitud, ed.latitud, ed.perfil, md.email_cliente as email_misdatos, md.twitter, md.facebook, ed.id as id_direccion, ed.nombre as nombre_direccion, ed.direccion, ed.telefono, ed.id_municipios, ed.id_provincias, ed.cp, ed.email as email_direccion
  2.  
  3. from empresas e
  4. left join micrositio m on e.id = m.id_empresas
  5. left join misdatos md on e.id_mis_datos = md.id
  6. left join empresas_direcciones ed on (ed.id_empresas = e.id and ed.id_provincias =14) where e.id in
  7.  
  8. ((select distinct(e1.id) from empresas e1, empresas_listas_articulos ela, empresas_direcciones ed, empresas_listas el, listas l where ela.id_empresas = e1.id and ed.id_empresas = e1.id and el.id = ela.id_empresas_listas and md.id_categorias <> 14 and el.id_listas = l.id and l.activo = 1 and el.activo = 1 and ed.id_provincias =14 and (ela.descripcion like ' ropa %' or ela.descripcion like ' ropas %')
  9.  
  10.  
  11. select distinct(eln.id_empresas) from empresas_listas_nombres eln, empresas e, misdatos md where eln.id_empresas = e.id and e.id_mis_datos = md.id and md.id_categorias <> 14 and ((eln.descripcion like '% ropa %' or eln.descripcion like '% ropa %') or (eln.descripcion like '% ropa %' or eln.descripcion like '% ropas %')) and eln.id_provincias =14 and eln.activo=1 )
  12.  


He intentado añadiendo otro union pero no anda.

A ver si me pueden orientar un poquito.

Un saludo!
  #2 (permalink)  
Antiguo 31/10/2013, 03:05
Avatar de webseficientes  
Fecha de Ingreso: enero-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 320
Antigüedad: 19 años, 2 meses
Puntos: 14
Respuesta: Modificar consulta para que tambien mire en otra tabla

Hola Maximog

Una de las cosas que te puede estar pasando es que no estas levantando la misma cantidad de campos en las 2 consultas que haces con union, la otra cosa es que los campos tienen que tener el mismo nombre.

Ej:

SELECT campo_a, campo_b FROM tabla_1
UNION
SELECT campo_d AS campo_a, campo_b FROM tabla_2
__________________
Gerardo Benitez
Programador Web Freelance, SEO, Diseño web
  #3 (permalink)  
Antiguo 31/10/2013, 03:15
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Modificar consulta para que tambien mire en otra tabla

Hola amigo gracias por su atencion,

Esta consulta que he pegado, si esta funcionando, con el union cuando no funciona es cunado añado otro union mas con la consulta a la tabla listas, este segundo union no lo he añadido en la consulta que he pegado por que no funcionaba.

Un saludo y gracias!
  #4 (permalink)  
Antiguo 31/10/2013, 03:20
Avatar de webseficientes  
Fecha de Ingreso: enero-2005
Ubicación: Buenos Aires, Argentina
Mensajes: 320
Antigüedad: 19 años, 2 meses
Puntos: 14
Respuesta: Modificar consulta para que tambien mire en otra tabla

Entonces cual es el error que recibis?
__________________
Gerardo Benitez
Programador Web Freelance, SEO, Diseño web
  #5 (permalink)  
Antiguo 31/10/2013, 04:01
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Modificar consulta para que tambien mire en otra tabla

La cosa es que no recibo ningun error simplemente encuentra los mismos resultados como si no hubiese añadido nada.

Un saludo!
  #6 (permalink)  
Antiguo 31/10/2013, 05:02
 
Fecha de Ingreso: octubre-2013
Mensajes: 17
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: Modificar consulta para que tambien mire en otra tabla

Amigo he modificado el primer select distinct y la consulta me queda si, la cosa es que sigue funcionando de la misma manera y no encuentra "gafas" en la tabla listas

Código MySQL:
Ver original
  1. select e.id, e.descuento, md.logo, m.imagen, md.nombre as nombre_general, md.web, ed.longitud, ed.latitud, ed.perfil, md.email_cliente as email_misdatos, md.twitter, md.facebook, ed.id as id_direccion, ed.nombre as nombre_direccion, ed.direccion, ed.telefono, ed.id_municipios, ed.id_provincias, ed.cp, ed.email as email_direccion
  2.  
  3. from empresas e left join micrositio m on e.id = m.id_empresas left join misdatos md on e.id_mis_datos = md.id left join empresas_direcciones ed on (ed.id_empresas = e.id and ed.id_provincias =14) where e.id
  4.  
  5. in ((select distinct(e1.id) from empresas e1, empresas_listas_articulos ela, empresas_direcciones ed, empresas_listas el, listas l where ela.id_empresas = e1.id and ed.id_empresas = e1.id and el.id = ela.id_empresas_listas and md.id_categorias <> 14 and el.id_listas = l.id and l.activo = 1 and el.activo = 1 and ed.id_provincias =14 and (ela.descripcion like ' gafas %' or ela.descripcion like ' gafas %' or l.descripcion like ' gafas %')
  6.  
  7.  
  8. select distinct(eln.id_empresas) from empresas_listas_nombres eln, empresas e, misdatos md where eln.id_empresas = e.id and e.id_mis_datos = md.id and md.id_categorias <> 14 and ((eln.descripcion like '% gafas %' or eln.descripcion like '% gafas %') or (eln.descripcion like '% gafas %' or eln.descripcion like '% gafas %')) and eln.id_provincias =14 and eln.activo=1 )
  9.  
  #7 (permalink)  
Antiguo 31/10/2013, 06:47
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 11 años, 5 meses
Puntos: 84
Respuesta: Modificar consulta para que tambien mire en otra tabla

para empezar que este no es el foro de MYSQL.

para terminar que no explicas exactamente lo que pretendes lograr con la consulta.

por más código que muestres, si no te explicas, en tu caso, no hay nada que hacer.
__________________
Ayúdame a hacerlo por mi mismo.

Etiquetas: mysql
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 02:43.