J'ai actuellement une structure de base de données avec deux tables importantes.SQL Complicated Group/Join by Category
1) Types d'aliments (fruits, légumes, viande)
2) aliments spécifiques (Apple, oranges, carottes, laitue, Steak, porc)
J'essaie actuellement de construire une instruction SQL telle que je peux avoir ce qui suit.
Fruit < Pomme, Orange
Légumes < carottes, laitue
viande < Steak, Port
J'ai essayé d'utiliser une déclaration comme suit
Select * From Food_Type join (Select * From Foods) as Foods on Food_Type.Type_ID = Foods.Type_ID
mais cela renvoie chaque aliment spécifique, alors que je veux seulement les 2 premiers par catégorie. J'ai donc fondamentalement besoin de ma sous-requête pour avoir une déclaration de limite de sorte qu'elle ne trouve que les 2 premiers par catégorie.
Cependant, si je fais simplement le
Select * From Food_Type join (Select * From Foods LIMIT 2) as Foods on Food_Type.Type_ID = Foods.Type_ID
suivant Mon instruction renvoie seulement au total 2 résultats.
Quel système de base de données utilisez-vous? – Anonymoose
vérifier http://stackoverflow.com/questions/2596489/how-to-select-the-last-two-records-for-each-topic-id-in-mysql – Salil
la requête pour résoudre ce peut compter sur la syntaxe C'est spécifique à la base de données ou dépend de ce qui est pris en charge dans votre version de base de données. Peu de gens voudront écrire votre requête dans SQL Server pour découvrir que vous utilisez MySQL, c'est pourquoi il est important de lister la base de données que vous utilisez. –