我想检查子查询的值如何检查呢?
I want to check the value of subquery how to check it?
这是我在 mysql
中的更新查询
UPDATE userentries
SET User_Rank =
(
SELECT
urc.rankofentr as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
where userentries.id = 15
我想检查该部分返回的值
(
SELECT
urc.rankofentr as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
如果此子查询 returns 大于 20,我要设置值 102
,我该怎么做
你可以使用 CASE
SELECT case urc.rankofentr when > 20 then 20
else urc.rankofentr
end as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
给你sql
UPDATE userentries
SET User_Rank =
(
SELECT case urc.rankofentr when > 20 then 20
else urc.rankofentr
end as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
where userentries.id = 15;
这是我在 mysql
中的更新查询UPDATE userentries
SET User_Rank =
(
SELECT
urc.rankofentr as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
where userentries.id = 15
我想检查该部分返回的值
(
SELECT
urc.rankofentr as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
如果此子查询 returns 大于 20,我要设置值 102
,我该怎么做你可以使用 CASE
SELECT case urc.rankofentr when > 20 then 20
else urc.rankofentr
end as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
给你sql
UPDATE userentries
SET User_Rank =
(
SELECT case urc.rankofentr when > 20 then 20
else urc.rankofentr
end as User_Rank
from UserRankingsys as urc
WHERE urc.entryid = userentries.id
LIMIT 1
)
where userentries.id = 15;