Foros del Web » Programando para Internet » PHP »

comparar consultas

Estas en el tema de comparar consultas en el foro de PHP en Foros del Web. hola tengo 2 consultas , las quiero comprar para que me muestre todos los datos pero los repetidos slo una vez: Código PHP: $consulta1 = ...
  #1 (permalink)  
Antiguo 04/08/2006, 12:50
 
Fecha de Ingreso: julio-2006
Mensajes: 70
Antigüedad: 11 años, 5 meses
Puntos: 0
comparar consultas

hola tengo 2 consultas , las quiero comprar para que me muestre todos los datos pero los repetidos slo una vez:

Código PHP:
$consulta1="select prueba_texto.cod_texto,prueba_item.cod_prueba,item.cod_item, enunciado, cod_subarea, fmto_resp, tipo_resp, puntaje, imagen.cod_imagen, imagen, estilo_imagen,item_pretexto.cod_pretexto from prueba_texto,texto_item, prueba_item inner join item on prueba_item.cod_item=item.cod_item left join item_imagen on item.cod_item=item_imagen.cod_item left join imagen on item_imagen. cod_imagen=imagen.cod_imagen left join item_pretexto on texto_item.cod_item=item_pretexto.cod_item where prueba_item.cod_prueba='prueba152' and prueba_item.cod_prueba =prueba_texto.cod_prueba and prueba_texto.cod_texto=texto_item.cod_texto and texto_item.cod_item=prueba_item.cod_item and prueba_texto.cod_texto='texto95' order by num_texto,item_pretexto.cod_pretexto,prueba_item.num_item" 
y la consulta 2

Código PHP:
$consulta2="select prueba_texto.cod_texto,prueba_item.cod_prueba,item.cod_item, enunciado, cod_subarea, fmto_resp, tipo_resp, puntaje, imagen.cod_imagen, imagen, estilo_imagen,item_pretexto.cod_pretexto from prueba_texto,texto_item, prueba_item inner join item on prueba_item.cod_item=item.cod_item left join item_imagen on item.cod_item=item_imagen.cod_item left join imagen on item_imagen. cod_imagen=imagen.cod_imagen left join item_pretexto on texto_item.cod_item=item_pretexto.cod_item where prueba_item.cod_prueba='prueba152' and prueba_item.cod_prueba =prueba_texto.cod_prueba and prueba_texto.cod_texto=texto_item.cod_texto and texto_item.cod_item=prueba_item.cod_item and prueba_texto.cod_texto='texto99' order by num_texto,item_pretexto.cod_pretexto,prueba_item.num_item" 

me despliega los datos bien , ahora debo comparar y los datos que muestro no se repitan
  #2 (permalink)  
Antiguo 04/08/2006, 12:58
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Esto deberia estar en la partde dedicada a Bases de Datos... Pero te comento creo q te vendria bien usar DISTINCT y fusionar ambas consultas en una metiendo

and (prueba_texto.cod_texto='texto95' or prueba_texto.cod_texto='texto99')

No sé si realmente es esto lo q pides.

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #3 (permalink)  
Antiguo 04/08/2006, 15:46
 
Fecha de Ingreso: mayo-2004
Ubicación: Barcelona
Mensajes: 200
Antigüedad: 13 años, 7 meses
Puntos: 0
estoy deacuerdo con djreficul
este tema tendria que ir en Bases de dato y NO en PHP,
aun asi, tienes:

UNION ALL indica que se haga la unión de dos resultados, simplemente escribiendo una tabla debajo de la otra.

UNION realiza una tarea más compleja que UNION ALL: además de unir los resultados de los queries, suprime las filas duplicadas.

en tu caso seria UNION:

Código:
$global = $conulta1." UNION ".$consulta2;
mysql_query($global);
...
...
cada consulta ha de estar encerrada entre parentesis ( )

salud2
  #4 (permalink)  
Antiguo 05/08/2006, 06:02
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 11 años, 5 meses
Puntos: 0
Interesante, no sabía q existía dicha función. Es válida para cualquier base de datos?

Saludos.
__________________
La muerte es un camino que todos debemos recorrer...
  #5 (permalink)  
Antiguo 05/08/2006, 12:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Iniciado por djreficul Ver Mensaje
Interesante, no sabía q existía dicha función. Es válida para cualquier base de datos?

Saludos.
Tendrìas que revisar el SQL particular de cada BBDD.

En principio "UNION" es parte del standar ANSI nosecuantos:

http://www.databasejournal.com/featu...le.php/1438001

Si quires màs detalles al respecto te recomiendo consultar en el foro de "Base de datos" ..

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 08:36.