MySQL/Java-如何执行此SELECT语句?

MySQL/Java-如何执行此SELECT语句?,java,mysql,sql,Java,Mysql,Sql,我有一个有多个用户的项目。有两种用户类型:订购者和出价者 当邮递员订购时。它将反映到投标人帐户。我想要的是这样的,当一个投标人没有投标任何东西时,所有可供投标的订单都会出现在他的账户上。我有两张桌子:订单和出价 订单表: OrderID|Item | OrderStatus| 1 |Shoes | On-Bidding | 2 |Bag | On-Bidding | 3 |Shirt | On-Bidding | BidID | Bi

我有一个有多个用户的项目。有两种用户类型:订购者和出价者

当邮递员订购时。它将反映到投标人帐户。我想要的是这样的,当一个投标人没有投标任何东西时,所有可供投标的订单都会出现在他的账户上。我有两张桌子:订单和出价

订单表:

OrderID|Item    | OrderStatus|
1      |Shoes   | On-Bidding |  
2      |Bag     | On-Bidding |  
3      |Shirt   | On-Bidding |
BidID | BidCost | BidStatus |BidderID  | OrderID |  
1     | $100    | Waiting   | 2        | 2       |  
2     | $200    | Waiting   | 1        | 2       | 
投标表:

OrderID|Item    | OrderStatus|
1      |Shoes   | On-Bidding |  
2      |Bag     | On-Bidding |  
3      |Shirt   | On-Bidding |
BidID | BidCost | BidStatus |BidderID  | OrderID |  
1     | $100    | Waiting   | 2        | 2       |  
2     | $200    | Waiting   | 1        | 2       | 
我希望使用JAVA显示的表如下所示:

将向用户显示的“可供投标”表:

对于ID为2的投标人(他对行李进行了投标,因此将加入BidCost列):

对于ID为1的投标人(他还以200美元的价格竞标bad)

对于ID为3的投标人(他没有出价)

我所做的只是选择所有具有“投标状态”的项目,并将其与BidCost的投标表连接起来。但每次我都这么做。如果有人已经对某个项目进行了投标,而另一个用户没有,则投标成本在他/她看来不会为空。其他用户的出价将被加入。因此,该用户将看到另一个用户的出价

如何使用MySQL和JAVA实现这一点

我的问题是:

SELECT * 
FROM orders T1 
INNER JOIN 
    SELECT bidcost 
    FROM bids T2 
ON T1.ID=T2.ID 
WHERE orderstatus=ON-BIDDING

你能解释一下你想归档什么吗。我听不懂你的解释。请说得具体一点,说出你想要达到的目标?如果您想在结果集中显示空值,只需使用外部联接即可。@ZeusNet我想要的是当投标人不投标任何东西时,我希望他们显示所有投标订单,但投标成本将为空。如果他出价,出价成本现在会显示,但只针对特定的出价人。你刚刚解决了我的问题。你真是个天才。我不知道为什么有些人否定了我的问题,我知道这很清楚。非常感谢。你不知道你给了多少帮助。
SELECT * 
FROM orders T1 
INNER JOIN 
    SELECT bidcost 
    FROM bids T2 
ON T1.ID=T2.ID 
WHERE orderstatus=ON-BIDDING
    SELECT * FROM orders t1 
         LEFT JOIN bids t2 on t1.OrderID = t2.OrderID and t2.BidderID = $user_id
    WHERE orderstatus=ON-BIDDING