我有一个包含两个表的简单数据库,User,Customer。这两个都有一个小ID。 我跑了这个命令
select max(u.id,c.id) as maxthing from Users u join Customers c;
我几乎得到了两张桌子上的所有内容。 我试着查看文档的最大值,但它说我可以传递第二个参数。 有人可以解释这里发生了什么,当我将第二个参数传递给max()时会发生什么?
答案 0 :(得分:1)
之所以发生这种情况,是因为您正在进行笛卡尔联接,每条记录都会连接到每条记录,因此得到的结果会增加。您需要添加连接关系:
select max(u.id,c.id) as maxthing
from Users u
join Customers c
ON(u.ID = c.User_ID)