【发布时间】:2013-10-09 07:51:16
【问题描述】:
我有两个 Microsoft Access 数据库表。它们被命名为Historical_Stock_Prices 和Balance_Sheets。我需要组合这些表中的每一个表中的数据来创建一个名为Daily 的表。我需要从Historical_Stock_Prices 获取字段Ticker、[Date] 和[Close],并且我需要从Balance_Sheets 获取字段Common_Stocks。
不过,我不会从Historical_Stock_Prices 和Balance_Sheets 中获取每一行。我只会获取在名为dtpDateSelection 的DateTimePicker 中选择的日期之前或之前的行。
现在我遇到的主要问题是Historical_Stock_Prices 每天都包含一行。而Balance_Sheets 包含每个季度的一行。因此,对于一个季度中的每一天,来自 Balance_Sheet 的数字 Common_Stocks 将是相同的。
我该怎么做?
这是我目前的代码:
Dim Date1 As Date = dtpDateSelection.Value
Dim cmd As OleDbCommand = New OleDbCommand("CREATE PROC Daily AS SELECT Ticker, [Date], [Close] From Historical_Stock_Prices WHERE [Date] = " & Date1 & "", con)
cmd.ExecuteNonQuery()
这显然根本不包含表Balance_Sheet。另外,目前我的 where 语句正在引发错误。
其他信息:表架构
【问题讨论】:
-
Historical_Stock_Prices 和 Balance_Sheets 如何联系在一起?他们有主键/外键吗?如果他们没有主键/外键,那么我猜他们是通过季度和年份字段链接的。
-
@Linger 他们没有链接。我不确定链接它们的最佳方式是什么。
Historical_Stock_Prices有两个字段的主键。他们是Ticker和[Date]。Balance_Sheets具有三个字段的主键。它们是Ticker、[Year]和Period。
标签: sql vb.net ms-access vba select-query