0

我需要从 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'
");

这是表结构:

表 1 = 用户信息

UserID   UserFirstName     UserLastName    UserDisplayName
1        John              Doe             John D.

表 2 = 列表

ListingID  UserID   DeviceID
11         1        2

表 3 = 设备

DeviceID
2
4

1 回答 1

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']

于 2013-02-26T13:36:54.203 回答