使用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%'
尽管MySQL工作正常,但SQLite在WHERE语句上失败。
是什么使SQLite在这里失败?
最佳答案
您确定playlisttrack
具有track
和playlist
吗?
将JOIN
替换为LEFT JOIN
以获取所有playlist
,即使他们没有playlisttrack
或track
关于sqlite - 为什么SQLite的LIKE%在JOIN中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11624103/