三表sql查询面临问题

irlmq6kh  于 2021-07-24  发布在  Java
关注(0)|答案(1)|浏览(195)

我在形成sql查询时遇到了一个问题。
我有三张table
表1-产品

|---------------------|------------------|------------------|
|      ProductId      |   ProductName    |      BrandId     |
|---------------------|------------------|------------------|
|          P1         |       Abcd       |         B1       |
|---------------------|------------------|------------------|
|          P2         |       xyz        |         B2       |
|---------------------|------------------|------------------|

表2-数据包

|---------------------|------------------|
|      ProductId      |    PacketName    |
|---------------------|------------------|
|          P1         |       Pac1       |
|---------------------|------------------|
|          P1         |       Pac2       |
|---------------------|------------------|
|          P2         |       Pac3       |
|---------------------|------------------|

表3-品牌

|---------------------|------------------|
|        BrandId      |     BrandName    |
|---------------------|------------------|
|          B1         |     Brand1       |
|---------------------|------------------|
|          B2         |     Brand2       |
|---------------------|------------------|

我期望的结果如下

|---------------------|------------------|------------------|------------------|
|      ProductId      |   ProductName    |     BrandName    |       Packets    |
|---------------------|------------------|------------------|------------------|
|          P1         |       Abcd       |     Brand1       |          2       |
|---------------------|------------------|------------------|------------------|
|          P2         |        xyz       |     Brand2       |          1       |
|---------------------|------------------|------------------|------------------|

我面临的问题与查询形成。我们将不胜感激。提前谢谢!

tyg4sfes

tyg4sfes1#

你可以做:

select
  p.productid,
  p.productname,
  b.brandname,
  count(*) as packets
from product p
join brand b on b.brandid = p.brandid
left join packet k on k.productid = p.productid
group by p.productid, p.productname, b.brandname

相关问题