我有三个简单的表,如下图所示:结合多列
+----+-------------+ +----+-----------+ +----+---------------+
| artists | | albums | | songs |
+----+-------------+ +----+-----------+ +----+---------------+
| id | name | | id | name | | id | name |
+----+-------------+ +----+-----------+ +----+---------------+
| 0 | The Beatles | | 0 | Help! | | 0 | Help! |
| 1 | Metallica | | 1 | Metallica | | 1 | Enter Sandman |
+----+-------------+ +----+-----------+ +----+---------------+
而且我想查询导致以下:
+--------+---------------+
| type | name |
+--------+---------------+
| artist | The Beatles |
| artist | Metallica |
| album | Help! |
| album | Metallica |
| song | Help! |
| song | Enter Sandman |
+--------+---------------+
我试图用一个LIKE
查询搜索艺术家,专辑和歌曲。
现在我使用下面的SQL从三列中获取结果,然后使用Ruby将它们放在一个对象中。我认为使用纯SQL而不是解释语言来返回结果会更有效率。
SELECT name FROM artists WHERE name LIKE 'something%'
SELECT name FROM albums WHERE name LIKE 'something%'
SELECT name FROM songs WHERE name LIKE 'something%'
我没有与SQL如此之大,并已与此挣扎了几天,想知道如果在这里任何人都可以在正确的方向指向我。
我正在考虑如何与其他答案完全一致。好样的! – RyanScottLewis