【发布时间】:2023-03-18 22:11:01
【问题描述】:
我尝试使用记录数从 oracle sql 表中获取数据。我试过如下,
SELECT *,
(COUNT(BRAND_ID) AS TOTAL)
FROM
(
SELECT BRAND_ID,
BRAND_CODE,
BRAND_TITLE
FROM BRAND
WHERE ACTIVE = '1'
ORDER BY BRAND_TITLE ASC
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY
) BRAND
LEFT JOIN
((
SELECT PRODUCT_ID,
PRODUCT_SKU_ID,
PRODUCT_WEB_ID,
PRODUCT_TITLE,
PRODUCT_SALES_PRICE,
PRODUCT_REGULAR_PRICE,
PRODUCT_RATING
FROM PRODUCT
WHERE
(
PRODUCT_TYPE='B'
OR PRODUCT_TYPE='R'
)
AND AVAILABILITY='1'
) PRDUCT ) ON BRAND.BRAND_CODE= PRDUCT.BRAND_CODE
执行此操作时出现以下错误,
错误:ORA-00923:未在预期的位置找到 FROM 关键字
我该如何解决这个问题。
提前致谢!
【问题讨论】:
-
尝试将 (COUNT(BRAND_ID) AS TOTAL) 替换为 COUNT(BRAND_ID) AS TOTAL
-
我还是得到了错误。
-
指定表格。而不是
*,use brand.*, PRDUCT.*, -
然后我得到了
ERROR: ORA-00937: not a single-group group function。我试过brand.*, PRDUCT.*。这工作正常。但是当我使用 COUNT(BRAND_ID) AS TOTAL 时,它不起作用