我有以下表格:
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的正确方法吗?我正在使用Access!
答案 0 :(得分:0)
FROM (VENDOR
INNER JOIN PRODUCT ON VENDOR.VENDOR_ID = PRODUCT.VENDOR_ID)
INNER JOIN ITEM ON PRODUCT.PRODUCT_ID = ITEM.PRODUCT_ID
你唯一缺少的是括号
答案 1 :(得分:0)
数据库引擎可以使用多种方法来连接两个表。所使用的方法是通过数据库知道表中的大小和数据来选择的,并且可以对整体性能产生巨大影响。
考虑内部联合:不管顺序如何,结果总是不一样吗?
查询优化器可能通过重新排列连接来改进查询,因此您永远不应在SQL中指定任何嵌套。只需将它留给专业人士(在这种情况下:算法)。