gpt4 book ai didi

sql - 使用 ms Access 中的查询从表中选择并插入到另一个表的不同类型的列

转载 作者:行者123 更新时间:2023-12-04 18:26:03 24 4
gpt4 key购买 nike

我有一些 txt 文件,其中包含混合了不同记录的表,这些记录具有不同类型的值和列定义。我正在考虑将它导入到一个表中并运行一个查询来分隔不同的记录类型,因为第一列中列出了这个的标识符。有没有办法更改查询中列的值类型?因为将所有这些都视为文本会很痛苦。如果您对如何解决此问题有任何其他建议,也请告诉我。

这是我从中获取数据的网站提供的 2 种记录类型的表格示例

create table dbo.PUBACC_A2
(
Record_Type char(2) null,
unique_system_identifier numeric(9,0) not null,
ULS_File_Number char(14) null,
EBF_Number varchar(30) null,
spectrum_manager_leasing char(1) null,
defacto_transfer_leasing char(1) null,
new_spectrum_leasing char(1) null,
spectrum_subleasing char(1) null,
xfer_control_lessee char(1) null,
revision_spectrum_lease char(1) null,
assignment_spectrum_lease char(1) null,
pfr_status char(1) null

)

go
create table dbo.PUBACC_AC
(
record_type char(2) null,
unique_system_identifier numeric(9,0) not null,
uls_file_number char(14) null,
ebf_number varchar(30) null,
call_sign char(10) null,
aircraft_count int null,
type_of_carrier char(1) null,
portable_indicator char(1) null,
fleet_indicator char(1) null,
n_number char(10) null
)

最佳答案

是的,你可以做你想做的。在 ms access 中,您可以使用任何 VBA 函数和一些

IIF(FirstColumn="value1", CDate(SecondColumn), NULL) as DateValue,
IIF(FirstColumn="value2", CDec(SecondColumn), NULL) as DecimalValue,
IIF(FirstColumn="value3", CStr(SecondColumn), NULL) as StringValue

您可以在 SELECT 中使用以上所有/任何一项。

编辑:

从您的评论来看,您似乎想将它们拆分到不同的表中 - 在这种情况下,作为文本导入应该不是问题。

一个)导入并在初始表中获取后,手动创建适当的表设置,您可以 INSERT放入适当的表中。

b)你甚至可以做 make table query , 但手动创建它可能会更快。如果您进行表查询,则必须确保已在选择中将数据转换为正确的类型。

编辑 2:当您更新显示结构的问题时,很明显我上面的建议不会直接提供帮助。

如果这是一次性流程,您可以遵循 HLGEM 的解决方案。这里有一些更多的细节。

1) 导入一个有两列的表 - RecordType char(2), Rest memo

2) 现在您可以拆分数据(进行两个基于 RecordType 选择的查询)并重新导出数据(以便能够使用 access 的导入向导)

3) 现在你有两个结构正确的文本文件,可以很容易地导入

关于sql - 使用 ms Access 中的查询从表中选择并插入到另一个表的不同类型的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3166877/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com