C#做一个查询,求一个SQL的查询语句,两个数据库表联查的

有两个数据库表,表1存的是票号,票据时间等等信息;表2存的是票的类型,分为客票和货票两种类型。现在我要查询客票超期6个月,货票超期3个月的所有票据信息,请问这个查询如何实... 有两个数据库表,表1存的是票号,票据时间等等信息;表2存的是票的类型,分为客票和货票两种类型。
现在我要查询客票超期6个月,货票超期3个月的所有票据信息,请问这个查询如何实现?(超期就是从票据时间开始算起)数据库用的是mysql

我用C#做这个查询,在底层查询方便还是在页面层写筛选条件更方便?分数不够再加
展开
 我来答
xuezxj
2013-07-23 · TA获得超过1683个赞
知道小有建树答主
回答量:1728
采纳率:100%
帮助的人:703万
展开全部
在页面层写筛选条件更方便些,如果没有前台操作也可以在在底层写

select 表1.*, 表2.* ---------不知道你要是哪些字段,所以我写了.* 查全部
from 表1
INNER JOIN 表2
on a=b ---------- (a=b是两个表相关联的字段,你这里可以写你实际的字段)
where (表1.票据时间 > 6 and 表2.类型= '客票') and (表1.票据时间 > 3 and 表2.类型= '货票')
大概是这个样子的
micro0369
2013-07-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4043万
展开全部
mysql的日期我不太属性,月份相减的 地方你自己改:

select t1.*
from t1,t2
where t1.类型id = t2.类型id
and MONTH(CURDATE())-MONTH(t.票据时间) > case when t2.类型='客票' then 6 when t2.类型='货票' then 3 end
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
微风8009
2013-07-23 · TA获得超过304个赞
知道小有建树答主
回答量:251
采纳率:0%
帮助的人:166万
展开全部
select a.* --这里我写的是结果显示表1的所有字段,也可以根据需要加上表2的字段
from 表1 a
inner join 表2 b on a.票号=b.票号
where (b.票据类型='客票' and a.票据时间<dateadd(mm,-6,getdate()))
or (b.票据类型='货票' and a.票据时间<dateadd(mm,-3,getdate()))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ghotos
2013-07-23 · TA获得超过280个赞
知道小有建树答主
回答量:435
采纳率:0%
帮助的人:362万
展开全部
这种肯定是在底层写好的才将结果返回出来,相对数据查询,通过数据库操作比界面层筛选速度要高很多,而且如果在页面层筛选的话,会有很多没用的数据传输,增加了系统开销,而且容易导致客户端机器开销过大而速度变慢,影响用户体验。
追问
哎?页面筛选速度慢啊?我还以为这样更快了……谢谢提醒
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jie116116
2013-07-23 · TA获得超过106个赞
知道小有建树答主
回答量:319
采纳率:0%
帮助的人:118万
展开全部
select a.票号,a.时间,b.客票,b.货票 from 表1 as a ,表2 as b
或者select 票号,时间 from 表1 union all 客票,货票 from 表2
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
爱琴海之玲
2013-07-23 · TA获得超过2581个赞
知道小有建树答主
回答量:582
采纳率:75%
帮助的人:339万
展开全部
这个还不简单么 朋友
先把你的思路 说给我听听 你是怎么打算的
追问
两个想法,第一直接写查询代码直接显示,第二在底层先把俩表连上,在页面层筛选符合条件的,问题是这两种想法我都不会做,看看哪种回答更靠谱就选哪种吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式