【问题标题】:count in mysql update mysql query, error supportcount in mysql update mysql查询,报错支持
【发布时间】:2013-05-12 02:37:34
【问题描述】:

你好需要从..开始更新。

 SELECT 
     tA.id, count(*) c
FROM
    tA
        join
    tA ON tB.id = tA.id
where
    tA.id = 5
GROUP BY tA.id
having c > 1;

我有一个一对多的关系模型。但需要在更新中包含计数

   UPDATE tA
        join
    tA ON tB.id = tA.id 
set 
    cnt = 5;

假设这是计数的结果

其中 'c' 是第一个选择计数...可能是。

UPDATE tA
        join
    tA ON tB.id = tA.id 
set 
    cnt = (SELECT 
            count(*) c
        FROM
            tA
                join
            tA ON tB.id = tA.id
        WHERE
            tA.id = 5
        GROUP BY tA.id
        having c > 1);

说查询语法不支持..thnk

【问题讨论】:

  • 此列cantidad 属于哪个表? cnt?
  • @geronimo76 。 . .您的所有查询显然都不正确,因为它们使用 tB 并且没有在任何地方定义。你能解决你的问题吗?
  • cnt 是表A的列
  • 这是一个错字tA join tA ON tB.id = tA.id 对吧?应该是tA join tB ON tB.id = tA.id

标签: mysql sql sql-update jointable


【解决方案1】:
UPDATE  tA
        INNER JOIN
        (
            SELECT  tA.id, COUNT(*) totalCount
            FROM    tA INNER JOIN tB ON tB.id = tA.id
            WHERE   tA.id = 5
            GROUP   BY tA.id
            HAVING  COUNT(*) > 1
        ) b ON tA.id = b.id
SET     tA.cnt = b.totalCount

【讨论】:

    猜你喜欢
    • 2017-11-14
    • 1970-01-01
    • 2013-07-27
    • 1970-01-01
    • 2015-09-01
    • 2012-02-21
    相关资源
    最近更新 更多