Ms access microsoftjet数据库引擎中的数据转换
如果我有一个要转换的数据集,那么应该使用什么查询Ms access microsoftjet数据库引擎中的数据转换,ms-access,Ms Access,如果我有一个要转换的数据集,那么应该使用什么查询 From | To | Val1 | Val2 | Val3 123 130 AB DE EF 131 140 WS ED RF 141 145 GT HY JU 我想在Microsoft Jet数据库引擎或MS Access中打印以下数据集 ID | Val1 | Val2 | Val3 123 AB DE EF 124 AB DE EF 125 AB DE EF 126 AB DE EF 127 AB DE
From | To | Val1 | Val2 | Val3
123 130 AB DE EF
131 140 WS ED RF
141 145 GT HY JU
我想在Microsoft Jet数据库引擎或MS Access中打印以下数据集
ID | Val1 | Val2 | Val3
123 AB DE EF
124 AB DE EF
125 AB DE EF
126 AB DE EF
127 AB DE EF
128 AB DE EF
129 AB DE EF
130 AB DE EF
131 WS ED RF
132 WS ED RF
133 WS ED RF
134 WS ED RF
135 WS ED RF
136 WS ED RF
137 WS ED RF
138 WS ED RF
139 WS ED RF
140 WS ED RF
141 GT HY JU
142 GT HY JU
143 GT HY JU
144 GT HY JU
145 GT HY JU
这在SQL-Server上有效,但不确定在使用access时如何使用此技术
create table #t (F_Val int,
To_Val int,
Val1 varchar(5),
Val2 varchar(5),
Val3 varchar(5)
)
insert into #t values
(123, 130, 'AB', 'DE', 'EF'),
(131, 140, 'WS', 'ED', 'RF'),
(141, 145, 'GT', 'HY', 'JU')
;with ct as (
select ROW_NUMBER() over (ORDER BY object_id) as RN
from sys.objects
)
select RN, #t.Val1, #t.Val2, #t.Val3
from ct
inner join #t on ct.RN between #t.F_Val and #t.To_Val
juts注意到数据库中sys.objects的数量是有限的,所以这在更大的范围内不起作用,但想法是这样的 使用以下SQL创建并保存查询qdxFactor:
SELECT DISTINCT
[Tens]+[Ones] AS Factor,
10*Abs([Deca].[id] Mod 10) AS Tens,
Abs([Uno].[id] Mod 10) AS Ones
FROM
MSysObjects AS Uno,
MSysObjects AS Deca;
然后创建笛卡尔查询:
Select
[From] + Factor As ID,
Val1,
Val2,
Val3
From
YourTable,
qdxFactor
Where
[From] + Factor <= [To]
选择
[From]+因子作为ID,
瓦尔1,
Val2,
Val3
从…起
你的桌子,
qdxFactor
哪里
[From]+Factor据我所知,您的帖子-您的数据集在日期范围内有2个日期;从和到。您试图为日期范围内的所有日期创建记录
表联接方法是最简单的,但必须有一个新表来保存ID字段的所有可能值。因此,在您发布的示例中,您需要一个具有单个列ID的表,该列包含从123到145的22条记录。但我想在现实生活中,你的数据集可能要大得多——这没关系,只是有时候更难创建。让我们称之为ID表
在select查询中,使用join子句SQL语法将ID表连接到表1:
[Table 1].[From]>=[ID Table].[ID]和[Table 1].[To]您使用的是MS Access还是SQL Server数据库引擎?它们之间的巨大差异。我现在使用MS Access。