我有mysql问题:
此表存储有关已转换影片的信息。 这是我的第一个sql:
SELECT COUNT(*) FROM uzytkownicy_filmy WHERE id_uzytkownika =1341143 AND id_albumu=0
此表存储有关已添加的电影的信息并等待其队列转换,转换将转移到表uzytkownicy_filmy 这是第二个:
SELECT COUNT(*) FROM uzytkownicy_filmy_convert WHERE id_uzytkownika =1341143 AND id_albumu=0
问题是:
我如何连接两个结果并提供给我的SQL查询:
UPDATE uzytkownicy_filmy_albumy
SET ile_filmow=(
// Here I want the sum of the queries that you see above
)
WHERE id="' . $this->oDb->getSecureForm($iAlbumId) . '" AND id_uzytkownika="' . $this->oDb->getSecureForm($iUserId) . '"');
答案 0 :(得分:1)
对两个查询求和的查询如下:
SELECT a.count + b.count FROM
(SELECT COUNT(*) AS count FROM uzytkownicy_filmy WHERE id_uzytkownika =1341143 AND id_albumu=0) AS a,
(SELECT COUNT(*) AS count FROM uzytkownicy_filmy_convert WHERE id_uzytkownika =1341143 AND id_albumu=0) AS b;
所以你可以在你的最终查询中添加这段代码:
UPDATE uzytkownicy_filmy_albumy
SET ile_filmow=(
SELECT a.count + b.count FROM
(SELECT COUNT(*) AS count FROM uzytkownicy_filmy WHERE id_uzytkownika =1341143 AND id_albumu=0) AS a,
(SELECT COUNT(*) AS count FROM uzytkownicy_filmy_convert WHERE id_uzytkownika =1341143 AND id_albumu=0) AS b;
)
WHERE id="' . $this->oDb->getSecureForm($iAlbumId) . '" AND id_uzytkownika="' . $this->oDb->getSecureForm($iUserId) . '"');
答案 1 :(得分:0)
假设您想要两个总和,那么这样的事情应该做的工作:
DECLARE @SUM1 INT,
@SUM2 INT
SELECT @SUM1 = COUNT(*) FROM uzytkownicy_filmy WHERE id_uzytkownika =1341143 AND id_albumu=0
SELECT @SUM2 = COUNT(*) FROM uzytkownicy_filmy_convert WHERE id_uzytkownika =1341143 AND id_albumu=0
UPDATE uzytkownicy_filmy_albumy
SET ile_filmow=(
// Here I want the sum of the queries that you see above
@SUM1 + @SUM2
)
WHERE id="' . $this->oDb->getSecureForm($iAlbumId) . '" AND id_uzytkownika="' . $this->oDb->getSecureForm($iUserId) . '"');