Una sola consulta para arrojar datos y sumas (count) de múltiples tablas
Hola, tengo la siguiente estructura de tablas (es un ejemplo)
Y me gustaría en la página php final mostrar algo así (en negrita los datos que necesito sacar de la base de datos)
ID: 5
Juego: bla
Sinopsis: ble ble..
Análisis: lalala...
Vídeos (3)
- first title...
- second title...
- third title...
Trucos:
- Tipo 1 (1) | Tipo 2 (0) | Tipo 3 (0) | Tipo 4 (1)
- Total (2)
Haciéndolo con varias consultas, por ejemplo:
Consulta 1
SELECT *
FROM juegos
LEFT JOIN fichas ON fichas.id_juego_ficha = juegos.id_juego
LEFT JOIN analisis ON analisis.id_juego_analisis = juegos.id_juego
LEFT JOIN videos ON videos.id_juego_video = juegos.id_juego
WHERE url_juego = '$url_ficha'
LIMIT 1
Consulta 2
SELECT
COUNT(CASE WHEN tipo_truco = '1' THEN id_truco END) AS t1,
COUNT(CASE WHEN tipo_truco = '2' THEN id_truco END) AS t2,
COUNT(CASE WHEN tipo_truco = '3' THEN id_truco END) AS t3,
COUNT(CASE WHEN tipo_truco = '4' THEN id_truco END) AS t4,
COUNT(id_truco) AS Total
FROM trucos WHERE id_juego_truco = '$id_juego'
Consigo sacar todos los datos, pero por ejemplo en videos solo me muestra uno, y no los tres que hay. Necesito hacerlo todo en una sola consulta y que me muestre todos los datos, como en el ejemplo de página final que puse más arriba. ¿Sería posible? ¿Cuál sería la consulta final sin errores?
No entiendo mucho de esto, soy novata, espero que alguien pueda ayudarme.
Por último, una pregunta, quizás estúpida. ¿Cuántas consultas distintas en una misma página se considerarían aceptables? Imagino que si para sacar los datos utilizas 1 sola consulta en vez de 5, será mucho mejor.
Es que veo páginas con multitud de datos y se me hace difícil pensar que puedan mostrarlos todos en una única consulta.
Eso es todo. Muchas gracias por adelantado. Espero que se haya entendido, que me explico muy mal.
Saludos!