我需要从table1,table2,table3中选择所有行(*)..但我需要在此INNER JOIN中选择表2中的MIN和MAX价格。我已经阅读了如何执行此操作,但是如何在INNER JOIN中执行此操作,以及如何在PHP变量中显示它。
初始问题:拉动它们后,如何显示最小值和最大值..(例如$Result['MinPrice']
,$Result['MaxPrice']
)。
这是我的疑问:
$Query = mysql_query("
SELECT *
FROM table1
INNER JOIN table2 ON table1.UserID = table2.UserID
INNER JOIN tables3 ON table2.DeviceID = table3.DeviceID
WHERE table2.DeviceID = '$GetDeviceID'
");
这是表结构:
table1 = usersinfo
UserID UserFirstName UserLastName UserDisplayName
1 John Doe John D.
table2 =商品信息
ListingID UserID DeviceID
11 1 2
table3 =设备
DeviceID
2
答案 0 :(得分:2)
如果你真的想以这种方式做你所要求的,你可以使用下面显示的查询。但是,如果在查询时返回了多行,则会返回大量重复行。试一试,看看它是否有效。
$Query = mysql_query("
SELECT table1.*, table2.*, table3.*,
MIN(table2.price) as minny,
MAX(table2.price) as maxxy
FROM table1
INNER JOIN table2 ON table1.UserID = table2.UserID
INNER JOIN tables3 ON table1.DeviceID = table3.DeviceID
WHERE table1.DeviceID = '$Something'
GROUP BY table2.ListingAskingPrice
");
然后通过$result['minny'] and $result['maxxy']