MySQL / Java - 我该如何做这个SELECT语句?

时间:2016-05-24 11:07:29

标签: java mysql sql

我有一个拥有多个用户的项目。订阅者和投标人有两种用户类型。

当订购人员订购时。它将反映给BIDDERS账户。我想要的是这样的,当BIDDER没有出价时,所有可用的出价订单都会出现在他的账户中。我有两个表:ORDERS和BIDS

ORDERS TABLE:

OrderID|Item    | OrderStatus|
1      |Shoes   | On-Bidding |  
2      |Bag     | On-Bidding |  
3      |Shirt   | On-Bidding |

BIDS表:

BidID | BidCost | BidStatus |BidderID  | OrderID |  
1     | $100    | Waiting   | 2        | 2       |  
2     | $200    | Waiting   | 1        | 2       | 

我想用JAVA显示的表是这样的:

将向用户显示的AVAILABLE FOR BID表:

对于投标人ID 2(他对行李进行投标,以便加入BidCost列):

Order ID| Item  | BidCost |  
2       | Bag   | $100    |  
1       | Shoes | NULL    |  
3       | Shirt | NULL    | 

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

Order ID| Item   | BidCost |  
2       | Bag    | $200    |  
1       | Shoes  | NULL    |  
3       | Shirt  | NULL    | 

对于投标人ID 3(他没有投标)

Order ID| Item  | BidCost |  
2       | Bag   | NULL    |  
1       | Shoes | NULL    |  
3       | Shirt | NULL    | 

我所做的只是选择所有ON-BIDDING状态并将其与BidCost的BID表联系起来。但每次我这样做。如果有人已经为某个商品出价而另一个用户没有出价,那么他/她的出价成本就不会为空。其他用户的出价将加入。这样用户就可以看到其他用户的出价了。

如何使用MySQL和JAVA执行此操作?

我的查询:

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

1 个答案:

答案 0 :(得分:0)

<div id="choice30QID404">
Hover on this
</div>