嘿stackoverflow-这是我的第一个问题。

我的mySQLdb中有2个表。

[tab_artist]
|id|artist|count

[tab_songtitle]
|id|songtitle|artistId


我试图从tab_artist.artist和tab_songtitle.songtitle中选择作为建议,其中searchclause = m

我已经试过了

SELECT artist, songtitle AS suggest
FROM tab_artist, tab_songtitle
WHERE artist LIKE('m%') OR songtitle LIKE('m%')


但这给了我2个专栏,艺术家和建议

如果满足搜索条件,我需要艺术家给我,例如Metallica ..但只有一次-但在歌名中,我需要所有以met开头的标题。

希望这对正确的专家有所帮助:)

最佳答案

union应该这样做:

select artist    AS suggest from tab_artist    WHERE artist    LIKE 'm%'
union all
select songtitle AS suggest from tab_songtitle WHERE songtitle LIKE 'm%'


对于这种情况,我将使用union all,这样您就不会删除重复项,但是,例如,如果Metallica拥有一个自命名专辑并且您只希望单词出现一次,则可能需要这样做。在这种情况下,union更合适。

关于php - 搜索多个表-将结果列为一列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1898698/

10-10 02:53