咨询SQL联接表

雷祖比夫

我尝试在sql中进行此咨询,但我不知道如何。

我有一张产品商店表。

我想要一张类似的表:

tshirt  | jeans   | number sells
---------------------------------------
tshirt1 | jean1   |   5
tshirt1 | jean2   |   4
tshirt1 | jean3   |   0
.............................
tshirt1 | jeanN   |   3

我在其他购物的表中拥有此信息。该表有一个用户代码,并有一个要购买一种产品的行。

codeUser   product buy
-------------------------
1           tshirt1
1           jeans1
2           jeans2
...............

我想知道很多人都购买一件T恤1,并且也购买一种类别2的产品。

我有一个按类别(例如T恤)进行产品过滤的视图;其他视图等于但过滤其他类别,例如牛仔裤。

我需要这个视图吗?或者我需要其他视图吗?

我不知道如何查询

谢谢

戈登·利诺夫(Gordon Linoff)

首先,您需要使用交叉联接生成所有行。然后输入客户信息。

我认为它看起来像这样:

select t.product as tshirt, j.product as jeans,
       count(distinct bj.codeUser)
from (select distinct product from buys where product like 'tshirt%') t cross join
     (select distinct product from buys where product like 'jeans%') j left join
     buys bt
     on bt.product = t.product left join
     buys bj
     on bj.product = j.product and
        bj.codeuser = bt.codeuser
group by t.product as tshirt, j.product;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章