J'ai trois tables simples, comme indiqué ci-dessous:Combinant plusieurs colonnes
+----+-------------+ +----+-----------+ +----+---------------+
| artists | | albums | | songs |
+----+-------------+ +----+-----------+ +----+---------------+
| id | name | | id | name | | id | name |
+----+-------------+ +----+-----------+ +----+---------------+
| 0 | The Beatles | | 0 | Help! | | 0 | Help! |
| 1 | Metallica | | 1 | Metallica | | 1 | Enter Sandman |
+----+-------------+ +----+-----------+ +----+---------------+
Et je voudrais une requête pour le résultat suivant:
+--------+---------------+
| type | name |
+--------+---------------+
| artist | The Beatles |
| artist | Metallica |
| album | Help! |
| album | Metallica |
| song | Help! |
| song | Enter Sandman |
+--------+---------------+
Je suis en train d'utiliser une requête LIKE
à Rechercher des artistes, des albums et des morceaux.
En ce moment j'utilise le SQL ci-dessous pour saisir les résultats des trois colonnes, puis j'utilise Ruby pour les rassembler en un seul objet. Je pense qu'il serait beaucoup plus efficace d'utiliser du SQL pur plutôt que le langage interprété pour renvoyer les résultats.
SELECT name FROM artists WHERE name LIKE 'something%'
SELECT name FROM albums WHERE name LIKE 'something%'
SELECT name FROM songs WHERE name LIKE 'something%'
Je ne suis pas si grand avec SQL et ont été aux prises avec cela pendant quelques jours et je me demandais si quelqu'un ici pourrait me diriger dans la bonne direction.
Je pensais à la façon de faire exactement cela avec les autres réponses. Bravo! – RyanScottLewis