我有两张表A和B,用时间bs分区,现在我通过A,B表相同的商品id,想查A表的bs=20230331的a,b,c字段,和B表的bs=20230401的d,e,f字段
时间: 2023-07-29 11:14:33 浏览: 28
你可以使用以下SQL查询语句来实现你的需求:
```
SELECT A.a, A.b, A.c, B.d, B.e, B.f
FROM A
JOIN B ON A.id = B.id
WHERE A.bs = '20230331' AND B.bs = '20230401'
```
这个查询语句使用了JOIN操作符,将A表和B表连接起来,通过id字段来关联它们。然后使用WHERE子句筛选出A表的bs为'20230331'和B表的bs为'20230401'的数据行,并选择需要的字段。
相关问题
我有两张表A和B,用时间bs分区,通过A,B表相同的sku和num,取A表bs=20230331时的ou和order和B表bs=20230401时的ou和order
可以使用以下SQL语句实现:
```
SELECT A.sku, A.num, A.ou, A.order, B.ou, B.order
FROM A
JOIN B ON A.sku = B.sku AND A.num = B.num
WHERE A.bs = '20230331' AND B.bs = '20230401'
```
这里使用了INNER JOIN将A表和B表连接起来,连接条件是sku和num相同。然后在WHERE子句中过滤A表的时间为20230331,B表的时间为20230401。最终SELECT语句中选择需要的字段即可。
我有两张表A和B,用时间bs分区,现在想求在两张表bs=20230101时,A表所有的sku和num的good和bad的值,和在B表中相同的sku和num的bgood和bbad的值
你可以使用以下SQL语句来实现你的需求:
```
SELECT
A.sku,
A.num,
SUM(A.good) AS agood,
SUM(A.bad) AS abad,
SUM(B.bgood) AS bgood,
SUM(B.bbad) AS bbad
FROM
A
LEFT JOIN
B
ON A.sku = B.sku AND A.num = B.num
WHERE
A.bs = 20230101 AND B.bs = 20230101
GROUP BY
A.sku,
A.num
```
这个SQL语句会将表A和表B按照sku和num进行关联,并且使用WHERE语句过滤出bs等于20230101的记录。最后使用GROUP BY语句将结果按照sku和num进行分组,并且对agood、abad、bgood和bbad进行求和。