以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- 求教SQL语句 (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=52904) |
|
-- 作者:baoxyang -- 发布时间:2014/6/25 13:53:00 -- 求教SQL语句 表A, 列a1,a2,a3 表B, 列b1,b2 希望selec a.*,b.b2 from 表A a left join 表B b on a.a1 = b.b1 但b2只希望是最后一条记录 这个SQL语句如何写,谢谢! |
|
-- 作者:Bin -- 发布时间:2014/6/25 14:03:00 -- 不是很明白你的意思. |
|
-- 作者:baoxyang -- 发布时间:2014/6/25 14:07:00 -- 有两表,表A及表B,关联列相同值,表B会存在多列,只需要显示表B最后一列内容.这样查询语句如何写 [此贴子已经被作者于2014-6-25 14:07:47编辑过]
|
|
-- 作者:有点甜 -- 发布时间:2014/6/25 14:09:00 -- select c.*, (select top 1 d.b2 from {表B} d where d.b1 = c.a1) from (selec a.*, b.* from 表A a left join 表B b on a.a1 = b.b1) c |
|
-- 作者:baoxyang -- 发布时间:2014/6/25 14:11:00 -- select a.托运单号,a.商场编号,a.客户简称,a.目的城市,a.条码单号,IsNull(d.预约内容,a.备注) as 预约内容 from 托运单据 a left join (Select c.* from (Select max(ID) As id,托运单号 from 托运预约 group by 托运单号) b left join 托运预约 c on b.id = c.id and b.托运单号 = c.托运单号) As d on a.托运单号 =d.托运单号 ,条码单据 as p where a.条码单号 = p.条码单号 and p.状态 <> \'初始\' and a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.标记 = 0 and (a.预约状态 = \'已预约\' or a.预约状态 = \'不需要\') 这个语句是三表关联,能优化吗?查询速度太慢了. |
|
-- 作者:baoxyang -- 发布时间:2014/6/25 14:20:00 -- 我要的结果是:首先是托运单据表与条码单据表,相关联列为条码单号,满足条件是条码单据表不等于\'初始\',而且托运单据表中需要满足条件a.单据状态 = \'开单入库\' and a.销单否 = \'否\' and a.标记 = 0 and (a.预约状态 = \'已预约\' or a.预约状态 = \'不需要\'),得到所有托运单据表数据.再需要满足托运预约表相关联列为托运单号,只显示为满足条件最后一条记录的d.预约内容,上面SQL语句可以满足我要的数据,但查询慢度有问题.可能是语句有问题.请帮修改下!先谢了!! |
|
-- 作者:jspta -- 发布时间:2014/6/25 15:18:00 --
|
|
-- 作者:baoxyang -- 发布时间:2014/6/25 15:49:00 -- 谢了,试试看 |