【发布时间】:2016-10-14 07:38:39
【问题描述】:
我正在使用 MariaDB。我正在尝试从 SELECT 不同的表中更新两列。
UPDATE User U
SET
U.UserPoint = (
SELECT ((SELECT COUNT(*)
FROM CARD_COMM R
WHERE R.Card_ID = C.Card_ID) * 3
+
(SELECT COUNT(*)
FROM SECTION_CARD_LIKE L
WHERE L.Card_ID = C.Card_ID) * 1) as userPoint
FROM CARD C WHERE C.userid = U.userid ORDER BY userPoint DESC limit 1 )
这行得通
UPDATE User U
SET
(U.UserPoint, U.Card) = (
SELECT ((SELECT COUNT(*)
FROM CARD_COMM R
WHERE R.Card_ID = C.Card_ID) * 3
+
(SELECT COUNT(*)
FROM SECTION_CARD_LIKE L
WHERE L.Card_ID = C.Card_ID) * 1) as userPoint,
C.Card_ID as card
FROM CARD C WHERE C.userid = U.userid ORDER BY userPoint DESC limit 1 )
但这个剂量不是......
我该怎么做? 请帮帮我...
【问题讨论】:
-
不确定你想做什么?!在第一个示例中,您在一个列中插入一个值。在第二个示例中,您尝试相同,但指定两列但只指定一个值?
标签: mysql sql database mariadb