Sql 查找位于不同状态的卖方用户id和买方用户id

Sql 查找位于不同状态的卖方用户id和买方用户id,sql,Sql,我试图找到以下内容 查找卖方用户id和购买用户id,以便买方至少从卖方购买了一件物品,但买方和卖方位于不同的州 我尝试了以下代码,但我认为它不对。我把我桌子的照片附在这篇文章上。我认为这里的状态不对 select selleruserid, buyeruserid from sales_fact where EXISTS (select b.userid from buyers_dim b, sellers_dim s where b.state <> s.state) [附表]

我试图找到以下内容

查找卖方用户id和购买用户id,以便买方至少从卖方购买了一件物品,但买方和卖方位于不同的州

我尝试了以下代码,但我认为它不对。我把我桌子的照片附在这篇文章上。我认为这里的状态不对

select selleruserid, buyeruserid
from sales_fact
where EXISTS (select b.userid
from buyers_dim b, sellers_dim s
where b.state <> s.state) 
[附表]

不要在FROM子句中使用逗号。在这种情况下,您可以使用以下方法获得此类买家和卖家的配对:

select sf.selleruserid, sf.buyeruserid
from sales_fact sf join
     buyers_dim b
     on sf.buyeruserid = b.userid join
     sellers_dim s
     on sf.sellersuserid = s.userid
where b.state <> s.state;

如果您希望买方对至少进行了一次州际交易的所有交易负责,那么您可以使用现有查询,并按如下所示进行关联:

select selleruserid, buyeruserid
from sales_fact sf
where EXISTS (select b.userid
from buyers_dim b join sellers_dim s on b.state <> s.state
  and B.userid = SF.buyeruserid and sf.sellersuserid = s.userid)

顶级卖家和最高价格有什么关系?是的,我不认为这是对的。我应该用一个和吗?我试图使用下面的方法,但我认为这是不对的。我可以看到其他ID的总数更大。从sales\u事实中选择selleruserid,其中price=从sales\u事实中选择maxprice