Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 使用内部联接按组计数_Sql_Oracle - Fatal编程技术网

Sql 使用内部联接按组计数

Sql 使用内部联接按组计数,sql,oracle,Sql,Oracle,我的Oracle数据库中有两个相关的表:EXPENSETYPE和EXPENSETYPE 我想显示按费用类型分组的所有寄存器,即: | Number | Description | Value | Registers | 99 | Car Rent | $200 | 8 | 65 | Food | $500 | 22 我试过: SELECT ET.NUMBER, ET.DESCRYPTION, E.V

我的Oracle数据库中有两个相关的表:EXPENSETYPE和EXPENSETYPE

我想显示按费用类型分组的所有寄存器,即:

| Number  | Description  | Value    | Registers
| 99      | Car Rent     | $200     | 8
| 65      | Food         | $500     | 22

我试过:

SELECT
    ET.NUMBER,
    ET.DESCRYPTION,
    E.VALUE,
    E.DATE
    COUNT(E.ID) AS REGISTERS
  FROM EXPENSES E
    INNER JOIN EXPENSETYPE ET ON E.EXPENSE_ID= ET.ID
  GROUP BY ET.NUMBER
  ORDER BY 
    E.DATE, ET.NUMBER

但我得到了ORA-00979

您需要在
分组依据
中包含所有未聚合的列。然后你需要对约会做点什么。也许你打算:

SELECT ET.NUMBER, E.DESCRYPTION, E.VALUE,
       COUNT(E.ID) AS REGISTERS
FROM EXPENSES E INNER JOIN
     EXPENSETYPE ET
     ON E.EXPENSE_ID= ET.ID
GROUP BY ET.NUMBER, E.DESCRYPTION, E.VALUE
ORDER BY MIN(E.DATE), ET.NUMBER;

样本数据和期望的结果将是一个很大的帮助。