如果table1.row>比较两个表的列数table2.row

时间:2017-03-30 18:01:21

标签: mysql sql-server compare

TABLE1

mybb_users
(id gcoins)
 1    150
 2    10

TABLE2

servercoins
(id prezzo)
 1    150
 2    70

如果用户有足够的“gcoins”购买“prezzo”,我应该比较这个表来控制。如果“gcoins”> “prezzo”没关系,但“gcoins”< “prezzo”打印一个警告“你没有足够的gocins为此”

2 个答案:

答案 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你可以测试一下!

希望这有帮助!