Consulta sql mostrar datos

Resuelto
okbabb Mensajes publicados 59 Estado Miembro -  
okbabb Mensajes publicados 59 Estado Miembro -
Hola,

7 respuestas

yg_be Mensajes publicados 23437 Fecha de registro   Estado Colaborador Última intervención   Ambassadeur 1 588
 
0
okbabb Mensajes publicados 59 Estado Miembro
 
No es un ejercicio, es un problema que quiero que se resuelva.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
Hola

Interésate en las uniones.

--
.
Atentamente,
Jordane
0
okbabb Mensajes publicados 59 Estado Miembro
 
Esta consulta no funciona:

SELECT * FROM personas, estructuras WHERE lugar_trabajo = id_estructura AND asignacion = id_estructura

¿Cómo puedo resolver el problema, por favor?
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > okbabb Mensajes publicados 59 Estado Miembro
 
Mira, por ejemplo, cómo funciona la unión left join.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
También tendrás que interesarte por los alias... porque debes hacer la unión dos veces en tu tabla estructuras (una para cada relación con tu tabla personas).
0
okbabb Mensajes publicados 59 Estado Miembro > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
Merci, mais désolé, je ne comprends pas le problème, pouvez-vous corriger la requête s'il vous plaît ?
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
Ya... deberías indicarnos qué SGBD estás utilizando...
¿Mysql? ¿Access? ¿Oracle? ¿SqlServer? ¿PostgreSql? ¿Otro??

Luego, te dije que te informaras sobre las uniones de tipo LEFT JOIN y sobre los ALIAS... ¿lo hiciste??
0
okbabb Mensajes publicados 59 Estado Miembro
 
SGBD Mysql y proyecto en PHP,
He hecho una búsqueda sobre las uniones, pero es más complicado que mi simple trabajo.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > okbabb Mensajes publicados 59 Estado Miembro
 
¿Complicado?
Sin embargo, me parece bastante sencillo de entender.. https://sql.sh/cours/jointures/left-join
Y un curso sobre las uniones.. y los alias: https://joaomarcuraa.medium.com/sql-joins-and-aliases-1965fd2423ca
0
okbabb Mensajes publicados 59 Estado Miembro > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
Gracias, he leído todo esto, pero no encuentro mi ejemplo.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > okbabb Mensajes publicados 59 Estado Miembro
 
No encontrarás un ejemplo que reprenda exactamente tu necesidad... depende de ti entender cómo funciona y aplicarlo...

Empieza con una primera unión entre tus dos tablas, mira lo que da...
luego, añade una segunda unión entre tus dos tablas... y listo... el trabajo está hecho...
En resumen
 SELECT * FROM table1 T1 LEFT JOIN table2 T2 ON T2.xx = T1.zz LEFT JOIN table2 T3 on T3.ww = T1.yy 
0
okbabb Mensajes publicados 59 Estado Miembro
 
He hecho eso como me dijiste y no funciona
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
1 - No se deben publicar imágenes... sino el código directamente en el foro utilizando las etiquetas de código.
2 - Una consulta SQL se debe probar ANTES directamente en la bdd (utilizando phpmyadmin, por ejemplo).
3 - Será necesario poner ALIAS también en la parte "SELECT" de tu consulta para poder identificar los campos (ya que tienes varias veces los mismos...).

NB: Explicaciones sobre el uso de las etiquetas de código deben leerse completamente antes de volver:
https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

.
0
okbabb Mensajes publicados 59 Estado Miembro
 
Antes de poner los alias, probé este código y me muestra un error de consulta.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
¿Y cuál es el error exactamente? (porque... darnos esta información ayudaría mucho a su resolución...)
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
¿No sería una cuestión de ID ambigua en el order by?
Sería necesario prefijarlo con el alias de la tabla que corresponde a este campo... T1.id por ejemplo.
0
okbabb Mensajes publicados 59 Estado Miembro
 
no, he quitado el order by y el problema persiste
el error es:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in D:\Serveur\xampp\htdocs\projet\tableau.php on line 103

y no sé cómo poner los alias para que las salidas muestren los nombres de las estructuras (lieu_travail y affectation) de las columnas seleccionadas.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830
 
Ah, pero hablas de un mensaje de error de PHP... eso no nos importa.
Ya que... porque tu pregunta se refiere a la construcción de una consulta SQL, que está publicada en el foro de Bases de datos... y además... te dije que probaras tus consultas DIRECTAMENTE en tu base de datos antes de querer usarlas en el código.

Sin olvidar que tu código PHP está obsoleto... pero eso te lo diré más tarde cuando finalmente hagas la consulta para la que nos pediste ayuda...
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
Para los alias... evidentemente, todavía no te has tomado el tiempo de leer los enlaces que te di.
Todo está explicado allí...
Por ejemplo
 SELECT T1.id as ID1, T2.id as ID2 ... 
0
okbabb Mensajes publicados 59 Estado Miembro > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
error también
0
okbabb Mensajes publicados 59 Estado Miembro > jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención  
 
La cosa es muy simple, pero no sé cómo hacerlo, aquí hay otro ejemplo,

una tabla "usuarios" que contiene 4 columnas: id, nombre, país_origen, país_residencia

id nombre país_origen país_residencia
1 michel 1 2
2 celine 3 4


y otra tabla "país" que contiene 2 columnas: id_pais, nombre_pais

id_pais nombre_pais
1 francia
2 bélgica
3 españa
4 suiza

quiero una tabla final como esta: (output)

nombre país_origen país_residencia
michel francia bélgica
celine españa suiza


¿cuál es la consulta SQL? y gracias de antemano.
0
jordane45 Mensajes publicados 30426 Fecha de registro   Estado Moderador Última intervención   4 830 > okbabb Mensajes publicados 59 Estado Miembro
 
Tienes un error porque no has utilizado el alias de la tabla en la parte SELECT ...
 T1.lieu.... 

Y no
 personas.lieu.... 


A menos que no hayas escrito bien el nombre de la columna? (pero, sin conocer la estructura exacta de tu base de datos, es difícil para mí adivinarlo a distancia)
0
okbabb Mensajes publicados 59 Estado Miembro
 
¡Muchas gracias, amigo mío, funciona muy bien! :D
0