SQL Jet 访问、插入列和排序依据
Posted
技术标签:
【中文标题】SQL Jet 访问、插入列和排序依据【英文标题】:SQL Jet Access, Insert Column and Order by 【发布时间】:2018-09-17 14:14:54 【问题描述】:我通过 excel 使用Microsoft.ACE.OLEDB.12.0
连接在我的工作簿中进行内部查询。
如何在查询中插入列 Year
并对其进行排序,以使它们不在一起。所以他们会一个接一个地重复?
Year
列已添加,但现在订购是问题。
这是我当前的查询
select [Data Type], [Currency], [Book Name], [1987] as Value
from [stage2$]
UNION ALL
select [Data Type], [Currency], [Book Name], [1990]
from [stage2$]
当前数据:
+--------------------------------+----------+-------+---------------+
| Data Type | Currency | Name | value |
+--------------------------------+----------+-------+--------------
| Missing Non Historical Results | BSD | Carib | (279) |
| Missing Non Historical Results | BSD | Carib | 18 |
| Missing Non Historical Results | BSD | Carib | 898 |
| Missing Non Historical Results | BSD | Carib | (50) |
+--------------------------------+----------+-------+---------------+
预期结果:
+--------------------------------+----------+-------+---------------+---------+
| Data Type | Currency | Name | Year | value |
+--------------------------------+----------+-------+---------------+---------+
| Missing Non Historical Results | BSD | Carib | 1987 | (279) |
| Missing Non Historical Results | BSD | Carib | 1990 | 898 |
| Missing Non Historical Results | BSD | Carib | 1987 | 18 |
| Missing Non Historical Results | BSD | Carib | 1990 | (50) |
+--------------------------------+----------+-------+---------------+---------+
【问题讨论】:
你不能。从您的示例数据中,没有任何迹象表明为什么任何记录应该标记为 1987 年或 1990 年。 【参考方案1】:您可以在select
语句中添加另一列:
select [Data Type], [Currency], [Book Name], '1987' as Year, [1987] as Value
from [stage2$]
UNION ALL
select [Data Type], [Currency], [Book Name], '1990' as Year, [1990]
from [stage2$]
order by Year
【讨论】:
我遇到了一些问题,1987
和 1990
因为 Year
在 Values
中仍然给出相同的数据,但是 "1987"
和 "1990"
带有引号似乎给出正确的结果,但现在我需要一个接一个地订购它们,而不是全部 1987
然后全部 1990
@excelguy 你可以order by
任何你需要的字段,只需要改变最后一行。快速说明,没有order by
子句,您无法保证结果的顺序。
我不确定我是否理解。我想像这样订购,1987
,然后是1990
,然后是1987
,然后是1990
,Year
中的交替值以上是关于SQL Jet 访问、插入列和排序依据的主要内容,如果未能解决你的问题,请参考以下文章
Excel-VBA 访问 sql server 表进行选择和插入太慢