问一下各位大神sql的问题

图片说明我要做一张报表,统计最近三十天内 进货、销售、库存每天的数量,已知有四张表
A表有前五个字段,
B表进货表有第一列的数据 可以count取出,有一个字段x存的时间
C表销售表有第二列的数据 可以count取出,有一个字段x存的时间
D表库存表有第三列的数据 可以count取出,有一个字段x存的时间
但是有一个问题,不是每天都有进货、销售、库存数据
问一下大神怎么用mysql查询符合这样报表的数据?

8个回答

用LEFT JOIN把表全部连起来根据时间抽数据

lbsaiyun
进击的小呆呆 没看懂你的意思,如果恩呢过看到表的数据,就能给你抽出来,这样说太抽象
5 年多之前 回复
lbsaiyun
进击的小呆呆 是在不行你就先抽一天的,在写个循环抽出整个月的
5 年多之前 回复
anjiushiniuniu
一个学习JAVA的小学生 当天没有数据,数据库是没东西的,能贴出sql我看一下吗?谢谢了
5 年多之前 回复
lbsaiyun
进击的小呆呆 这样是可以的,我竟潮涌
5 年多之前 回复
lbsaiyun
进击的小呆呆 回复anjiushiniuniu: 对啊,没有就是空
5 年多之前 回复
lbsaiyun
进击的小呆呆 回复anjiushiniuniu: 对啊,没有就是空
5 年多之前 回复
anjiushiniuniu
一个学习JAVA的小学生 用了,但是当天进销存或者其中一样为空的话,没有数据,我是三十天内每天的数据,没有就显示空
5 年多之前 回复

图片说明

anjiushiniuniu
一个学习JAVA的小学生 杯具,现在就是连一天数据都抽不出来 ,为空的直接就给我显示空了
5 年多之前 回复
lbsaiyun
进击的小呆呆 建议你先抽一天的数据,然后整个循环
5 年多之前 回复
anjiushiniuniu
一个学习JAVA的小学生 嗯 是这样的东西,但是用sql就是查询不出来
5 年多之前 回复

直接写sql语句,通过where条件嵌套,

tkblack
tkblack 回复anjiushiniuniu: 这个嵌套不出来是为什么呢?
5 年多之前 回复
anjiushiniuniu
一个学习JAVA的小学生 用where 嵌套不出来
5 年多之前 回复
select A.1,A.2,A.3,A.4,A.5,count(B.1),count(c.1),count(d.1)     from A  left join B ON a.1=B.1  --全部连上  where   A.1='某一天'
anjiushiniuniu
一个学习JAVA的小学生 亲,看一下我贴的图,主要我要把A表的code和name全部都列出来,然后每个都有进销存三列
5 年多之前 回复

别想着一个SQL写出来了,这写出来太复杂了,牵涉到日期生成,行专列等。还是写成一个个函数的方式吧。

放在sql里面做一个表- -用where嵌套行么

如果日期横向显示就有点麻烦了,获取可以根据日期纵向查询出来,在进行行列转换

从新做一个新表,分别取出对应的名

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐