>TABLE1
mybb_users
(id gcoins)
1 150
2 10
表2
servercoins
(id prezzo)
1 150
2 70
如果用户有足够的"gcoin"购买"prezzo",我应该比较这个表来控制。如果"gcoins">"prezzo"没关系,但"gcoins"<"prezzo"打印一个警报,上面写着"你没有足够的gocins">
试试这个...
SELECT
CASE WHEN ((SELECT gcoins
FROM TABLA1
WHERE TABLA1.id = <ID_USER>
AND gcoins >0) < ( SELECT prezzo
FROM TABLA2
WHERE TABLA2.id = <ID_PREZZO>))
THEN 'You dont have enough gocins for this'
ELSE 'something else...'
END
<ID_USER>
和<ID_PREZZO>
替换为变量。
在这里你可以测试!
希望这有帮助!
这是一个常规查询,将打印出状态:
SELECT u.id, u.gcoins, s.prezzo,
CASE WHEN u.gcoins >= s.prezzo THEN 'OK' else 'Not Enough gcoins' END AS Status
FROM mybb_users u
INNER JOIN servercoins s ON u.id = s.id
如果想要一个只返回需要警报的行的查询,请删除第二行,并改为添加 WHERE 子句:
SELECT u.id, u.gcoins, s.prezzo
FROM mybb_users u
INNER JOIN servercoins s ON u.id = s.id
WHERE u.gcoins < s.prezzo
这为您提供了一个需要被警告他们没有足够的gcoin的人的列表。