• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

Mysql关于复杂条件查询的有关问题

mysql 搞代码 7年前 (2018-06-01) 121次浏览 已收录 0个评论

mysql关于复杂条件查询的问题
是这样的,比如我现在有一张表house,里面记录了房号houseid,租金rent(固定值),usearea面积, remark标记为1表示rent为0。

第二张表是charge表,字段有hid(房号),sfqj(记录的是哪户人几几年几几月的缴费信息,格式就是201201)。

第三张表是project表,字段有projectid,project(表示缴费的项目,比如租金,设施费(根据house表的面积算))等。

现在的我根据需求设计了另一张表qfb,记录欠费信息,字段有hid,remark,projectid,project,Jan~Dec(需要算每个月的欠费记录)、

然后就是怎么根据上面的三个表查出欠费信息再插入qfb? (一个人应该每次插入2条记录(2个缴费项目))

我的想法是,根据house表查出houseid ,rent, remark在charge表里根据对应的houseid 对应 hid查出这个人是否缴费了,假如他的缴费信息只有201112的租金,没有缴设施费,那么前11个月租金就是欠费,把结果插入qfb表,1~11月欠费项目租金就是他面积应交的rent,12月不插入信息,表示未欠费. 1~12月的设施费就是全欠,全部插入(面积*设施费)表示12个月都欠。

感觉好难啊,写不出来,哪个高手可以帮帮忙?

——解决方案——————–
描述的字太多了。

建议你列出你的表结构,并提供测试数据以及基于这些测试数据的所对应正确结果。
参考一下这个贴子的提问方式http://topic.csdn.net/u/20091130/20/8343ee6a-417c-4c2d-9415-fa46604a00cf.html
 
1. 你的 create table xxx .. 语句
2. 你的 insert into xxx … 语句
3. 结果是什么样,(并给以简单的算法描述)
4. 你用的数据库名称和版本(经常有人在MS SQL server版问 MySQL)
 
这样想帮你的人可以直接搭建和你相同的环境,并在给出方案前进行测试,避免文字描述理解上的误差。

——解决方案——————–
流程应该这样吧:

遍历house表,遍历到第一条,就拿第一条的houseid放到project表里查他应该交的费用的projectid号,同时把金额算出来,

然后根据这个结果再放到charge表查有无他的信息,如果一条都没,那么插入欠费表,全部欠费。

有记录就根据条件过滤,比如他交几月的,交的什么费。

然后再把结果插入欠费表,

大循环结束.

然后再去house表里遍历第二条


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:Mysql关于复杂条件查询的有关问题

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址