2012-09-23 136 views
0

我有这样的MySQL代码女巫工作得很好的MySQL连接两个表MAX(值)

SELECT uid , MAX(value) AS bidvalue FROM auction 
WHERE pid = '$pid' and max_bid=0 
GROUP BY uid 
ORDER BY bidvalue DESC 
LIMIT 1 

我怎样才能将这个选择与用户表ON users.id = auction.uid?

谢谢

回答

1

您可以使用加入为你的查询可能看起来像

SELECT uid, users.name, MAX(value) AS bidvalue 
FROM auction 
INNER JOIN users ON users.id = auction.uid 
WHERE pid = '$pid' and max_bid=0 
GROUP BY uid 
ORDER BY bidvalue DESC 
LIMIT 1 

SELECT uid, users.name, MAX(value) AS bidvalue 
FROM auction 
OUTER JOIN users ON users.id = auction.uid 
WHERE pid = '$pid' and max_bid=0 
GROUP BY uid 
ORDER BY bidvalue DESC 
LIMIT 1 

with the joins details as per your need

+0

就是这样。非常感谢你。 – Coscho

1

我在这里看不到任何魔法:

SELECT uid, users.name, MAX(value) AS bidvalue 
FROM auction 
INNER JOIN users ON users.id = auction.uid 
WHERE pid = '$pid' and max_bid=0 
GROUP BY uid 
ORDER BY bidvalue DESC 
LIMIT 1