J'ai cette requête de base de données la requête limite les lignes totales du résultat à 5. Je veux limiter la table de gauche Comment devrais-je écrire la requête? p> p> métadata code> à 5 sans limitation L'ensemble du résultat. P>
3 Réponses :
Eh bien, je pense que vous voulez dire rejoindre code> Essayez d'utiliser
de rejoindre code> au lieu de
joindre intérieur code>
Essayé ça! Pas ce que je veux. Une jointe à gauche inclura tous les enregistrements dans gauche code> table qui ne disposent pas de contreparties dans la table de droite. Une join interne comprendra uniquement les enregistrements communs aux deux
Bien que je ne recommande pas le mien
Si vous pensez à ce que vous essayez de faire, vous ne faites pas vraiment de sélectionner contre Vous devez submerger le premier. P> Essayez: P> métadonnées code>.
SELECT *
FROM ((select * from metadata limit 5) im)
INNER JOIN `content` ic ON `im`.`rev_id` = `ic`.`rev_id`
WHERE `im`.`id` = '00039'
AND `current_revision` = 1
ORDER BY `timestamp` DESC
Cela obtiendra les 5 premières lignes de «métadonnées», puis effectuera d'autres interrogations sur cet ensemble de données limitée.
@Ash - Oui, c'est ce qu'il a demandé. "Je veux limiter la métadonnée de la table de gauche à 5"
Voici une autre approche possible: Ce n'est pas testé. S'il vous plaît laissez-moi savoir si vous courez dans la question de la mise en œuvre - et je peux élaborer. P> p>
Que voulez-vous dire par la limitation de la table de gauche à 5?
@experimentX, 1 rangée dans
métadonnées code> peut être liée à
n code> rangée dans
contenu code>. Je veux structurer la requête afin qu'elle renvoie
5n code> lignes, pas 5 rangées
@Shakti Singh c'est ce que je veux, je pensais qu'il pourrait y avoir une voie plus directe
Pouvez-vous ajouter votre structure de table