TABLE1
mybb_users
(id gcoins)
1 150
2 10
TABLE2
servercoins
(id prezzo)
1 150
2 70
如果用户有足够的“gcoins”购买“prezzo”,我应该比较这个表来控制。如果“gcoins”> “prezzo”没关系,但“gcoins”< “prezzo”打印一个警告“你没有足够的gocins为此”
答案 0 :(得分:0)
这是一个打印出状态的常规查询:
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
这会为您提供一份清单,说明需要警告他们没有足够的gcoins。
答案 1 :(得分:0)
试试这个......
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>
会替换您的变量。
HERE你可以测试一下!
希望这有帮助!