0

我有以下表格:

   VENDOR:          PRODUCT:           ITEM:             STORE:
-  VENDOR_ID     -  PRODUCT_ID      -  ITEM_ID        -  STORE_ID
-  VENDOR_NAME   -  PRODUCT_DESC    -  STORE_ID       -  STORE_NAME
                 -  VENDOR_ID       -  PRODUCT_ID     -  STORE_LOCATION
                                    -  ITEM_PRICE

我想执行以下连接操作,但我不确定如何使用 Access SQL 对其进行格式化

SELECT DISTINCT VENDOR.VENDOR_NAME, COUNT(ITEM.PRODUCT_CODE)
FROM VENDOR INNER JOIN PRODUCT ON VENDOR.VENDOR_ID = PRODUCT.VENDOR_ID
INNER JOIN ITEM ON PRODUCT.PRODUCT_ID = ITEM.PRODUCT_ID
GROUP BY VENDOR.VENDOR_NAME
ORDER BY COUNT(ITEM.PRODUCT_ID) DESC;

你能告诉我像这样嵌套 INNER JOIN 的正确方法吗?我正在使用访问!

4

2 回答 2

0
FROM (VENDOR
INNER JOIN PRODUCT ON VENDOR.VENDOR_ID = PRODUCT.VENDOR_ID) 
INNER JOIN ITEM ON PRODUCT.PRODUCT_ID = ITEM.PRODUCT_ID

你唯一缺少的是括号

于 2013-10-21T14:41:53.880 回答
0

数据库引擎可以使用多种方法连接两个表。使用的方法是根据数据库对表中的大小和数据的了解来选择的,并且会对整体性能产生巨大影响。

想想内连接:结果不总是一样的,不管顺序吗?

查询优化器可能会通过重新排列连接来改进查询,因此您永远不应该在 SQL 中指定任何嵌套。把它留给专业人士(在这种情况下:算法)。

于 2013-10-21T14:53:34.443 回答