例如:select c1 from table1
出来的结果是:
aaaa
bbbb
cccc
现在怎么实现出现来的是:aaaabbbbcccc
是一行不而不是3行
12 个解决方案
#1
详细一点,有无其它字段
#2
加入ID,类型自增
SELECT a.dd & b.dd & c.dd from (ttd a left join ttd b on a.id=b.id-1) left join ttd c on b.id=c.id-1
where c.id is not null
SELECT a.dd & b.dd & c.dd from (ttd a left join ttd b on a.id=b.id-1) left join ttd c on b.id=c.id-1
where c.id is not null
#3
没有其它字段,用VBA循环记录集,生成结果
#4
有Guid类型的主键
#5
可以,将ID修改为你的主键名试试,没有看到你的记录,用自增字段好一点。
#6
ACCESS自身的SQL没什么办法。
不过如果仅在ACCESS中应用,则可以自己写个自定义函数。上次我贴过了。你自己找一下吧。.
[align=center] = = = = 思 想 重 于 技 巧 = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
#7
你的记录只有3行,上述代码没有问题,多一点记录可以用VBA方法来处理
#8
up
#9
up
#10
up
#11
Public Function concateColumn(sTable As String, sCol As String, iID As Long)
Dim rs As New ADODB.Recordset
Dim sSQL As String
Dim sResult As String
sResult = ""
sSQL = "select " & sCol & " from " & sTable & " where id=" & iID
rs.Open sSQL, CurrentProject.Connection
Do While Not rs.EOF
sResult = sResult & rs.Fields(0).Value & ";"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
concateColumn = sResult
End Function
用法
select id,concateColumn('table1','c1',id) from yourTable.
[align=center] = = = = 思 想 重 于 技 巧 = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
#12
我的问题是我的行比较多,列也比较多想合并怎么办?而且我的是Access数据库,不是仅仅在access中调用,而是在C#中调用,急死我了拜托,谁能帮我解决50分全部给您,如果我有100分就给您100分数据源如下格式,字段F_ID; F_value; F_TC F_TN;
F_ID F_value F_TC F_TN
1 aa 24 1
1 bb 24 2
2 aaa 24 3
2 bbb 24 4
2 ccc 25 5
3 fff 25 6
3 ggg 25 7
3 kkk
要求得到的结果格式
F_ID DataMan
1 aa,bb
2 aaa,bbb,ccc
3 fff,ggg,kkk
要求使用Access数据库,方法可以在C#中调用
F_ID F_value F_TC F_TN
1 aa 24 1
1 bb 24 2
2 aaa 24 3
2 bbb 24 4
2 ccc 25 5
3 fff 25 6
3 ggg 25 7
3 kkk
要求得到的结果格式
F_ID DataMan
1 aa,bb
2 aaa,bbb,ccc
3 fff,ggg,kkk
要求使用Access数据库,方法可以在C#中调用
#1
详细一点,有无其它字段
#2
加入ID,类型自增
SELECT a.dd & b.dd & c.dd from (ttd a left join ttd b on a.id=b.id-1) left join ttd c on b.id=c.id-1
where c.id is not null
SELECT a.dd & b.dd & c.dd from (ttd a left join ttd b on a.id=b.id-1) left join ttd c on b.id=c.id-1
where c.id is not null
#3
没有其它字段,用VBA循环记录集,生成结果
#4
有Guid类型的主键
#5
可以,将ID修改为你的主键名试试,没有看到你的记录,用自增字段好一点。
#6
ACCESS自身的SQL没什么办法。
不过如果仅在ACCESS中应用,则可以自己写个自定义函数。上次我贴过了。你自己找一下吧。.
[align=center] = = = = 思 想 重 于 技 巧 = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
#7
你的记录只有3行,上述代码没有问题,多一点记录可以用VBA方法来处理
#8
up
#9
up
#10
up
#11
Public Function concateColumn(sTable As String, sCol As String, iID As Long)
Dim rs As New ADODB.Recordset
Dim sSQL As String
Dim sResult As String
sResult = ""
sSQL = "select " & sCol & " from " & sTable & " where id=" & iID
rs.Open sSQL, CurrentProject.Connection
Do While Not rs.EOF
sResult = sResult & rs.Fields(0).Value & ";"
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
concateColumn = sResult
End Function
用法
select id,concateColumn('table1','c1',id) from yourTable.
[align=center] = = = = 思 想 重 于 技 巧 = = = =
[/align]
.
贴子分数<20:对自已的问题不予重视。
贴子大量未结:对别人的回答不予尊重。
.
#12
我的问题是我的行比较多,列也比较多想合并怎么办?而且我的是Access数据库,不是仅仅在access中调用,而是在C#中调用,急死我了拜托,谁能帮我解决50分全部给您,如果我有100分就给您100分数据源如下格式,字段F_ID; F_value; F_TC F_TN;
F_ID F_value F_TC F_TN
1 aa 24 1
1 bb 24 2
2 aaa 24 3
2 bbb 24 4
2 ccc 25 5
3 fff 25 6
3 ggg 25 7
3 kkk
要求得到的结果格式
F_ID DataMan
1 aa,bb
2 aaa,bbb,ccc
3 fff,ggg,kkk
要求使用Access数据库,方法可以在C#中调用
F_ID F_value F_TC F_TN
1 aa 24 1
1 bb 24 2
2 aaa 24 3
2 bbb 24 4
2 ccc 25 5
3 fff 25 6
3 ggg 25 7
3 kkk
要求得到的结果格式
F_ID DataMan
1 aa,bb
2 aaa,bbb,ccc
3 fff,ggg,kkk
要求使用Access数据库,方法可以在C#中调用