以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求一个SQL语句 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=48885) |
-- 作者:e-png -- 发布时间:2014/4/8 13:27:00 -- 求一个SQL语句 谢谢·! |
-- 作者:e-png -- 发布时间:2014/4/8 13:28:00 -- 用狐表我会弄,想学点sql语句·········· |
-- 作者:jspta -- 发布时间:2014/4/8 13:50:00 -- 大概是这样, [此贴子已经被作者于2014-4-8 13:50:52编辑过]
|
-- 作者:有点甜 -- 发布时间:2014/4/8 13:52:00 -- select 编码, 列1, (select top 1 列2 from {表A} as b where b.编码 = a.编码 and b.列1 = a.列1 and a.列2 is not null) as 列2 from {表A} as a [此贴子已经被作者于2014-4-8 13:51:53编辑过]
|
-- 作者:don -- 发布时间:2014/4/8 14:40:00 -- 狐表与SQL结合方法: Dim s1,sql As String Dim Arys As List(Of String()) Arys = DataTables("原表").SQLGetValues("列B|编码|列A","列B > \'\'") s1=" Union All Select 编码,列A,\'T0\' As 列B From{原表} Where 编码 = \'T1\' and 列A =\'T2\'" For Each Ary As String() In Arys sql+ = s1.Replace("T0",Ary(0)).Replace("T1",Ary(1)).Replace("T2",Ary(2)) Next If SQL > "" Then Output.show(SQL.Substring(11)) End If
|
-- 作者:e-png -- 发布时间:2014/4/8 16:12:00 -- 3楼、5楼正确、4楼代码【列2】没有显示任何值(估计是a表还没有形成)。
我需要的是3楼纯SQL语句的。
谢谢三位老师了。。。 |
-- 作者:有点甜 -- 发布时间:2014/4/8 16:19:00 -- 哦,写错鸟,不过还是用连接查询好一点
select 编码, 列1, (select top 1 列2 from {表A} as b where b.编码 = a.编码 and b.列1 = a.列1 and b.列2 > \'\') as 列2 from {表A} as a |
-- 作者:jspta -- 发布时间:2014/4/8 16:19:00 -- select 编码, 列1, (select top 1 列2 from {表A} as b where b.编码 = a.编码 and b.列1 = a.列1 and a.列2 is not null order by 列2 desc) as 列2 from {表A} as a 需要排序保证第一个不是空的。
|
-- 作者:blackzhu -- 发布时间:2014/4/8 16:26:00 -- don老大 真是出神入化 |
-- 作者:e-png -- 发布时间:2014/4/8 16:41:00 -- 7楼有点甜:ok了······· 8楼的:order by 多余了吧,不是有“列2 is not null” 吗 。
再次谢谢 |