在我的视图中使用GROUP BY时出现错误1214

时间:2015-11-05 15:26:09

标签: sql group-by myisam

我的数据库视图出现问题。所有其他视图都正常工作,但是当我尝试在查询后面添加GROUP BY语句时, 然后我会得到下一个错误:

1214 - 使用的表类型不支持FULLTEXT索引

我已将所有表格设置为ISAM,我注意到整个问题都在GROUP BY语句中。

我的查询如下:

CREATE VIEW `id_winkels`
AS
SELECT 
    `w`.`w_id` AS `w_id`,
    `w`.`k_id` AS `k_id`,
    `w`.`w_naam` AS `w_naam`,
    `w`.`w_logo` AS `w_logo`,
    `w`.`w_homepage` AS `w_homepage`,
    `w`.`w_straat` AS `w_straat`,
    `w`.`w_huisnummer` AS `w_huisnummer`,
    `w`.`w_postcode` AS `w_postcode`,
    `w`.`w_woonplaats` AS `w_woonplaats`,
    `w`.`w_land` AS `w_land`,
    `w`.`w_actief` AS `w_actief`,
    `w`.`w_datum` AS `w_datum`,
    COUNT(`p`.`p_id`) AS `totaal`
FROM `Winkels` `w` 
LEFT JOIN `Producten` `p`
        ON `w`.`w_id` = `p`.`w_id`
GROUP BY `w`.`w_naam`

还有其他方法可以计算我的商店的产品数量而不使用分组吗?

如果我在没有group by语句的情况下运行查询,它将在一行中返回我的产品总数。

1 个答案:

答案 0 :(得分:0)

由于您只选择Winkels中的字段,您应该在子查询中获取产品计数而不是加入表:

CREATE VIEW id_winkels AS 
  SELECT 
    w.w_id AS w_id,
    w.k_id AS k_id,
    w.w_naam AS w_naam,
    w.w_logo AS w_logo,
    w.w_homepage AS w_homepage,
    w.w_straat AS w_straat,
    w.w_huisnummer AS w_huisnummer,
    w.w_postcode AS w_postcode,
    w.w_woonplaats AS w_woonplaats,
    w.w_land AS w_land,
    w.w_actief AS w_actief,
    w.w_datum AS w_datum,
    (
      select count(*)
      from Producten p 
      where p.w_id = w.w_id
    ) AS totaal 
  FROM Winkels w;