Bonjour. Je vous expose mon petit problème actuel :
J'ai deux tables, une représentant des tickets avec diverses informations dessus, l'autre représentant des lignes de tickets avec diverses informations dessus. La jointure pour ces deux tables se fait grâce au champ ID_ticket.
Par la suite je vais effectuer beaucoup d'opérations sur ces deux tables, du genre une dizaine de requêtes qui peuvent être séparées, mais le soucis vient du fait que je dois effectuer tout ça en une seule requête.
Mon problème vient du fait que je souhaite mettre des conditions par rapport aux deux tables, par exemple effectuer les opérations dont je parle dans le deuxième paragraphe uniquement sur une période donnée (il suffit pour cela de poser une condition sur un champ de la table ticket).
Voici de façon grossière un exemple de ce que je veux à quoi ma requête ressemble :
Enfin voilà les sous requêtes ne représentent pas vraiment ce que je veux faire mais c'est juste pour vous montrer l'idée... Le problème vient du fait que je ne sais pas quoi mettre dans le FROM des "sous requêtes". Le soucis aurait pu être réglé avec une VIEW, mais je dois effectuer tout ça en une seule requête.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 SELECT sous_requette_1.information1, sous_requette_2.information1, sous_requette_2.information2 FROM ticket, ligne_ticket WHERE ticket.ID_ticket = ligne_ticket.ID_ticket AND ticket.mois_ticket = 9 JOIN (SELECT COUNT(ticket.ID_ticket) AS information1 FROM ??? WHERE ticket.champ42 = 1) AS sous_requete_1 JOIN (SELECT COUNT(ticket.ID_ticket) AS information1, SUM(ligne_ticket.prix) AS information 2 FROM ??? WHERE ticket.champ42 = 0)AS sous_requete_2
Pour récapituler je sélectionne des lignes de deux tables, et avec tout ça je fais des "sous requêtes" qui sont traité comme des alias...
Merci d'avance.
Partager