我有一个关于SQL查询的问题。我正在ASP.NET Visual Studio中构建原型网上商店。现在,我正在寻找解决方案来查看我的产品。我已经在MS Access中建立了一个数据库,它包含多个表。
对于我的问题而言重要的表格是:
产品
产品图片
摄影
Below you'll see the relations between the tables
对我来说,获取三种数据类型很重要:产品标题,价格和图像。
产品标题和价格在Product
表中。图像在Foto
表中。
因为一个产品可以有多个图片,所以它们之间存在N-M关系。因此,我必须将其拆分,是在Productfoto
表中完成的。
因此它们之间的联系是:
product.artikelnummer -> productfoto.artikelnummer
productfoto.foto_id -> foto.foto_id
然后,我可以读取文件名(在数据库中:
foto.bestandnaam
)我创建了第一个内部联接,并在Access中对其进行了测试,这可行:
SELECT titel, prijs, foto_id
FROM Product
INNER JOIN Productfoto
ON product.artikelnummer = productfoto.artikelnummer
但是我需要另一个
INNER JOIN
,该如何创建呢?我猜是这样的(这会给我一个错误)SELECT titel, prijs, bestandnaam
FROM Product
(( INNER JOIN Productfoto ON product.artikelnummer = productfoto.artikkelnummer )
INNER JOIN foto ON productfoto.foto_id = foto.foto_id)
谁能帮我?
最佳答案
这样的事情应该工作:
SELECT Product.titel, Product.prijs, Foto.bestandnaam FROM Product INNER JOIN
(Foto INNER JOIN Productfoto ON Foto.[foto_id] = Productfoto.[foto_id]) ON
Product.[artikelnummer] = Productfoto.[artikelnummer];