1

サブストリングでグループ化しようとしています。結果は1つだけです。

Region = Coastal, Value (R) = 1144900.

私は2つの結果を得ることになっています。

これは私のコードです:

SELECT
  DISTINCT SUBSTRING_INDEX(`team_name`, '-', 1) AS 'Region', 
  SUM(`opportunities`.`value`) AS 'Value (R)'
FROM 
  `opportunities` 
  LEFT JOIN cf_type_link_data ON cf_type_link_data.sourceid = opportunities.id
  LEFT JOIN cf_lu_type_fields ON cf_type_link_data.fieldid = cf_lu_type_fields.id
  LEFT JOIN cf_lu_types_fields_dropdown ON cf_type_link_data.`value` = cf_lu_types_fields_dropdown.id AND cf_lu_type_fields.id = cf_lu_types_fields_dropdown.fieldid
  LEFT JOIN `lu_teams` ON `lu_teams`.`contactid` = `opportunities`.`user_allocation`
  LEFT JOIN `teams` ON `teams`.`id` = `lu_teams`.`teamid`
  LEFT JOIN `lu_opportunity_status` ON `lu_opportunity_status`.`id` = `opportunities`.`status`
WHERE 1 
  AND `cf_lu_types_fields_dropdown`.`values` = 'Building Project'
  AND cf_lu_type_fields.fieldname = 'Scaffolding Segment'
  AND (`opportunities`.`expecteddate` >= '2012-01-01' AND `opportunities`.`expecteddate` <= '2012-07-24')
GROUP BY 'Region' 
ORDER BY cf_lu_types_fields_dropdown.`values`;

どんな助けでも大歓迎です。

4

2 に答える 2

0

GROUP BYselectin句から同じエイリアスを使用することはできません

試す

SELECT DISTINCT SUBSTRING_INDEX(team_name, '-', 1) AS 'Region', 
       SUM(opportunities.value) AS 'Value (R)'....

GROUP BY SUBSTRING_INDEX(team_name, '-', 1)
ORDER BY cf_lu_types_fields_dropdown.values;
于 2012-07-24T12:51:24.867 に答える
0

フィールド識別子に引用符を使用しないようにしてください-

「地域」->地域

あなたの場合、文字列'Region'でグループ化するため、結果データセットには1つのレコードしか表示されませんが、値でグループ化する必要があります。

于 2012-07-24T12:52:04.543 に答える