2009-12-30 2 views
0

en utilisant la base openoffice.org 3.1.1maître et moissonneuse-batteuse informations détaillées dans le résultat de la requête

Compte tenu de la base de données ci-dessous avec trois tables, je voudrais créer une requête avec la sortie suivante. Comment cela peut-il être réalisé avec des requêtes ou des vues?

sortie

book.title, tags 
title 1, tagdescription1 tagdescription2 tagdescription3 
title 2, tagdescription2 

base de données

BOOK 
id - primary key,title 
1, title 1 
2, title 2 

TAG 
id - primary key,name 
tag1, tagdescription1 
tag2, tagdescription2 
tag3, tagdescription3 

BOOK_TAG 
book_id,tag_id 
1,tag1 
1,tag2 
1,tag3 
2,tag2 
+0

Je pense que cette question peut être mieux servi par la bonnes gens à StackOverflow. – Sathya

Répondre

1

Ma première pensée est que vous ne pouvez pas vraiment une question de forme comme celle que vous avez une quantité dynamique de colonnes. Je voudrais joindre les tables et ensuite l'avoir en double le titre de chaque tag en utilisant une jointure.

SELECT book.title, tag.name FROM book LEFT JOIN book_tag ON book_tag.book_id = book.id LEFT JOIN tag ON tag.id = book_tag.tag_id

qui devrait vous donner un ResultSet comme,

 
book.title  tag.name 
title 1  tagname1 
title 1  tagname2 
title 1  tagname3 
title 2  tagname2 

Je suis sûr que quelqu'un a une meilleure façon que :)

+0

Merci, c'est ce que je fais maintenant mais c'est loin d'être idéal. –

Questions connexes