0

问题:两个表,第一个包含userid(constraint fk)和列'name',第二个表包含两列int和id(外键),我需要的是找到max(column1-column2)并将其分配给第一个表中的名称;

我在做什么:mysql>

select u.name, MAX(table2.column1-table2.column2) As var 
  from table1 u, table2 b 
 where u.userID(from table1) = b.userID(from table2)
   and (b.column1-b.column2) = var;

在这种情况下,它说“未知列变量”,是否可以没有触发器/程序?

在此处输入图像描述

任何1?:)

4

2 回答 2

0

也许尝试使用子查询?

select u.name, (b.column1 - b.column2) as var 
  from table1 u, table2 b 
 where u.userID(from table1) = b.userID(from table2)
   and (b.column1-b.column2) = ( select MAX(column1 - column2) from table2);
于 2012-09-25T18:54:20.770 回答
0

我认为这是正确的解决方案:

select u.name, 
    MAX(table2.column1-table2.column2) As var 
from table1 u
    join table2 b 
        on b.userId = u.userId
where u.userID(from table1) = b.userID(from table2)
group by u.name
于 2012-09-25T18:55:47.730 回答