为什么SQLite的LIKE%在JOIN中不起作用?

时间:2012-07-24 04:19:41

标签: sqlite join sql-like

使用Chinook测试数据库,以下SQL语句在SQLite中起作用:

SELECT * FROM playlist WHERE Name LIKE '%the%'

然而,如果我使用JOIN:

SELECT * FROM playlist AS pl 
JOIN playlisttrack AS plt ON pl.PlaylistId=plt.PlaylistId 
JOIN track AS t ON plt.TrackId=t.TrackId WHERE pl.Name LIKE '%the%' 

SQLite在WHERE语句上失败,尽管MySQL工作正常:

enter image description here

是什么让SQLite在这里失败?

2 个答案:

答案 0 :(得分:1)

您确定playlisttracktrackplaylist吗?

JOIN替换为LEFT JOIN以获取所有playlist,即使他们没有playlisttracktrack

答案 1 :(得分:1)

LIKE似乎有效,因为你得到了相同的结果。

问题似乎是三个表中名为“Name”的多个列。我会避免使用“SELECT *”并选择你需要的列,使用别名来清楚说明是什么。