cartésienne Au moment où je peux obtenir les résultats dont j'ai besoin de deux déclarations séparées SELECTmultiples many-to-many JOIN dans une seule requête mysql sans produit
SELECT
COUNT(rl.refBiblioID)
FROM biblioList bl
LEFT JOIN refList rl ON bl.biblioID = rl.biblioID
GROUP BY bl.biblioID
SELECT
GROUP_CONCAT(
CONCAT_WS(':', al.lastName, al.firstName)
ORDER BY al.authorID)
FROM biblioList bl
LEFT JOIN biblio_author ba ON ba.biblioID = bl.biblioID
JOIN authorList al ON al.authorID = ba.authorID
GROUP BY bl.biblioID
Combinant eux comme cela, cependant
SELECT
GROUP_CONCAT(
CONCAT_WS(':', al.lastName, al.firstName)
ORDER BY al.authorID),
COUNT(rl.refBiblioID)
FROM biblioList bl
LEFT JOIN biblio_author ba ON ba.biblioID = bl.biblioID
JOIN authorList al ON al.authorID = ba.authorID
LEFT JOIN refList rl ON bl.biblioID = rl.biblioID
GROUP BY bl.biblioID
provoque la colonne résultat de l'auteur à avoir des noms en double. Comment puis-je obtenir les résultats souhaités d'une instruction SELECT sans utiliser DISTINCT? Avec des sous-requêtes?