Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/263.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
Php 如何在SQL中创建没有重复项的视图?_Php_Sql - Fatal编程技术网

Php 如何在SQL中创建没有重复项的视图?

Php 如何在SQL中创建没有重复项的视图?,php,sql,Php,Sql,首先,我有一个SUM_REPANDMAINT表, 表的列名: 实际成本, 预计成本, 上一页总计, 出席总人数, 方差 差异(每), 限度 成本中心, 身份证件 植物 预算年度, 版本 第二次我看到了V_SUM_repand maint, 视图的列名: 用户名, 收费(抄送), 预算年度, 版本 植物 收费(抄送), 第二部分:, 年份\日期\美元 这些图像可能有助于理解问题: 我需要得到不重复的值 注:年份\日期\美元的总和基于工厂和费用\ CC 我的问题是: SELECT A.A

首先,我有一个SUM_REPANDMAINT表, 表的列名:

实际成本, 预计成本, 上一页总计, 出席总人数, 方差 差异(每), 限度 成本中心, 身份证件 植物 预算年度, 版本

第二次我看到了V_SUM_repand maint, 视图的列名:

用户名, 收费(抄送), 预算年度, 版本 植物 收费(抄送), 第二部分:, 年份\日期\美元

这些图像可能有助于理解问题:

我需要得到不重复的值

注:年份\日期\美元的总和基于工厂和费用\ CC

我的问题是:

SELECT 
   A.ACTUAL_COST,
   A.PROJECTED_COST,
   A.TOTAL_PREV,
   A.TOTAL_PRESENT,
   A.VARIANCE,
   A.VARIANCE_PER,
   A."LIMIT",
   A.COST_CENTER,
   A.PLANT,
   A.BUDGET_YEAR,
   A."VERSION",
   B.BUDGET_YEAR,
   B."VERSION",
   B.PLANT,
   B.CHARGE_CC,
   B.PART_DESC,
   B.YEAR_DATE_USD
FROM
   CMS.SUM_REPANDMAINT A,
   CMS.V_SUM_REPANDMAINT B

WHERE 
   (A.BUDGET_YEAR = B.BUDGET_YEAR(+)) AND 
   (A."VERSION" = B."VERSION"(+)) AND 
   (A.PLANT = B.PLANT(+)) AND 
   (A.COST_CENTER = B.CHARGE_CC(+)) AND
   (B.USERNAME = '[usr_name]')

尝试在您的唯一列上使用
分组依据
不同的
。这将产生一些结果


文档

尝试在您的唯一列上使用
分组依据
不同的
。这将产生一些结果


文档

如果您有副本,则表示:

  • 或者您没有连接所有必需的列(需要向这些列的WHERE子句添加语句)
  • 或者有多行是正常的,在这种情况下 需要使用GROUPBY子句聚合它们

如果您有副本,则表示:

  • 或者您没有连接所有必需的列(需要向这些列的WHERE子句添加语句)
  • 或者有多行是正常的,在这种情况下 需要使用GROUPBY子句聚合它们

将group by用于您的唯一列使用group by用于您的唯一列感谢您的评论,我已将DISTINCT添加到列名A.TOTAL\u PRESENT,这会给我带来错误。感谢您的评论,我已将DISTINCT添加到列名A.TOTAL\u PRESENT,这会给我带来错误。感谢您的评论。是的,我有多行是正常的。如何按字段A.TOTAL_PRESENT进行分组?这取决于您希望如何对它们进行分组。您需要明确合并重复项的值的方式(是否保留第一个值、是否求和、是否取平均值等)。我建议您花点时间查看GROUP BY的工作原理。基本上,在GROUPBY子句中列出要分组的列(当值相等时),并在SELECT子句中使用聚合函数(SUM、FIRST等)。这里有一个链接可以帮助你:谢谢你的评论。是的,我有多行是正常的。如何按字段A.TOTAL_PRESENT进行分组?这取决于您希望如何对它们进行分组。您需要明确合并重复项的值的方式(是否保留第一个值、是否求和、是否取平均值等)。我建议您花点时间查看GROUP BY的工作原理。基本上,在GROUPBY子句中列出要分组的列(当值相等时),并在SELECT子句中使用聚合函数(SUM、FIRST等)。以下链接可能会帮助您: