我在使用一个声明时遇到问题,该声明允许我根据播放列表数据库中的给定艺术家查看所有数据。
例如,我有一个艺术家,带领zep,有两首歌,另有一个艺术家,我希望能够调用led zep,并且能够通过它们查看所有曲目,艺术家名称也是文字,这就是歌名。id是主键,专辑是文本,艺术家是文本,名称是文本,评级是int,我希望能够调用所有歌曲购买给定的艺术家。
这些是我试过的一些陈述。
SELECT * FROM LibraryTable WHERE Artist = led zep
SELECT * FROM LibraryTable WHERE Artist = 'led zep'
SELECT * FROM LibraryTable WHERE Artist = "led zep"
没有任何工作任何帮助将不胜感激。如果你注意到新的我对SQL服务器很新。
感谢你们的回复,并且没有我写下来的方式可能会让人感到困惑,艺术家在我的数据库中以及所有其他标题中都有上限。
数据类型text和varchar在等于运算符中不兼容。顺便说一句,我在第二个陈述中得到了这个错误。
答案 0 :(得分:1)
正如您所写,专栏名称为艺术家
SELECT * FROM LibraryTable WHERE artists = 'led zep'
答案 1 :(得分:1)
数据类型text和varchar在等于中是不兼容的 操作
为什么选择Artist列的文本数据类型?这没有道理;文本用于LOB并且不推荐使用。一般来说,不要使用它。
请更改您的表架构,以使Artist列的长度为nvarchar。你的第二个陈述将在那之后发挥作用。
答案 2 :(得分:0)
尝试使用LIKE
运算符,因为您不确定确切的字符串值。
SELECT * FROM LibraryTable WHERE Artist like '%led zep%'