2013-05-17 26 views
4

你好需要更新的開始..計數在MySQL更新MySQL查詢,誤差支持

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

+0

沒有此列'cantidad'屬於什麼表? 'cnt'? –

+0

@ geronimo76。 。 。你所有的查詢都顯然是不正確的,因爲它們使用'tB',而且這個沒有在任何地方定義。你能解決你的問題嗎? –

+0

cnt是表A的列 – geronimo76

回答

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 
+0

感謝男人..你是最好的.. – geronimo76

+0

很高興它幫助。 –