J'essaie d'effectuer une requête pour filtrer les lignes d'une table, puis de joindre les résultats sur une autre table, puis de filtrer des lignes supplémentaires.Sous-requête sur une jointure
Voici la requête que j'ai écrit:
SELECT *
FROM (SELECT media.id AS id2, media.flagged AS flagged2, media.item_status AS status2
FROM media
WHERE flagged2 != 'nsfw'
AND status2 != 'deleted'
ORDER BY id2 DESC LIMIT 0,5)
JOIN media on info.mid = media.id
WHERE info.topic = 'food_drink'
OR info.topic='cooking'
GROUP BY info.mid
Je pense que je suis assez proche pour obtenir la requête de travail, mais je continue à faire passer le message, « Chaque table dérivée doit avoir son propre alias. » J'ai googlé ceci et de ce que j'ai lu j'ai besoin d'alias des parties de la sous-requête que j'ai essayées mais je ne peux toujours pas le faire fonctionner.
juste une question rapide ... où avez-vous obtenu le "info"? est-ce un alias ou une table? – hallie
@hallie: Étant donné qu'Eric n'a pas utilisé d'alias de table, je crois que c'est une table. Eric va devoir nous faire savoir si les références à 'INFO' devraient être dans cette requête, sinon comment elles se rapportent à la table dérivée ... –
Je suppose que ... JOIGNEZ le média sur info.mid = media.id. .. devrait en fait être ... JOIN ** info ** sur info.mid = media.id ... –