在SQlite示例的“名称”中没有正确显示

时间:2018-06-04 15:32:55

标签: sqlite

AX8hFCq30h3robsMxenwt8=

我想使用左连接语句只显示相册表和艺术家表的标题和名称属性。如果您查看我引用的http://www.sqlitetutorial.net/网站,我认为我已正确应用它,但名称值未正确显示。我做错了什么?

  • DB中有'专辑'表和'艺术家'表,'专辑'表中有'AlbumId','Title'和'ArtistId'项目,'artists'表中有'ArtistId'和'Name'项目。

作为参考,DB是从http://www.sqlitetutorial.net/

下载的样本数据库

enter image description here

2 个答案:

答案 0 :(得分:0)

由于OP澄清了他从哪个站点获取数据库,现在编辑..) 尝试类似的(未经测试,但我认为应该工作假设表中有一个标题和一个名称 - 如果没有,相应地改变)

select alb.Title as AlbumTitle, 
art.Name as ArtistName
from albums alb
left join artists art on (art.artistid=alb.artistid)

这应该有效。如果没有,那么您可能会有一张不存在艺术家的专辑。正如其他人所说,你不需要引用所有字段和表名,并且使用表的别名而不是完整的表名更清洁(IMO)

答案 1 :(得分:0)

You can quote table/column names, but that is not necessary if they are no SQL keywords.

Anyway, artists.ArtistId contains two names, which must be quoted separately:

... ON "artists"."ArtistId" = "albums"."ArtistId"