select Orders.gameuser, Games.game_name 
from WSS_O_OrderReceive OrderReceive
left join WSS_O_Orders Orders on Orders.OrderID = OrderReceive.OrderReceiveID
left join WSS_G_Games Games on Games.GameID = Orders.GameID
where OrderReceive.receive_gatestate = 1 and OrderReceive.receive_clientstate =2

解决方案 »

  1.   

    SELECT  a.gameuser ,
            b.game_name
    FROM    ( SELECT    gameid ,
                        gameuser
              FROM      WSS_O_Orders
              WHERE     orderid IN ( SELECT orderreceiveid
                                     FROM   WSS_O_OrderReceive
                                     WHERE  receive_gatestate = 1
                                            AND receive_clientstate = 2 )
            ) a
            INNER JOIN WSS_G_Games b ON a.gameid = b.gameid
      

  2.   

    试试以下代码:select o.gameuser, g.game_name
    from WSS_O_OrderReceive as or
    inner join WSS_O_Orders as o on or.orderreceiveid = o.orderid
    inner join WSS_G_Games as g on o.gameid = g.gameid
    where receive_gatestate = 1
    and or.receive_clientstate = 2