比较两个表的列,如果表1.行>表2.行



>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的人的列表。

相关内容

  • 没有找到相关文章

最新更新