[英]VBScript / SQL help needed with query that joins three tables
我正在尝试建立一个将连接三个表的查询,并且我想通过VBscript运行此查询。
这是我的工作版本:
sSQL = "SELECT OPNPOS.FUND, SECRTY.TKR, SECRTY.ISIN, OPNPOS.QTY, OPNPOS.LCL_ACCINC, PRIHST.PRICE / SECRTY.FACTOR AS CENA FROM (OPNPOS INNER JOIN SECRTY ON OPNPOS.TKR = SECRTY.TKR) INNER JOIN PRIHST ON SECRTY.TKR = PRIHST.TKR WHERE OPNPOS.FUND IN " & sFUND & " AND PRIHST.PRCDATE = #" & sDATA & "# ORDER BY OPNPOS.FUND"
我需要更改此查询才能查看OPNPOS表中的每个元素,因此我将进行更改
FROM OPNPOS INNER JOIN
至:
FROM OPNPOS LEFT JOIN
但这给我一个错误。 错误:不支持联接表达式。 编码:80004005
我知道有一些方法可以解决此问题,但是我尝试了很多组合,但没有成功; /
有人可以帮助我吗?
这是我的VBScript的更大部分:
Option Explicit
dim sDATA
sDATA = InputBox("Podaj datę w formacie MM/DD/YYYY.")
dim sPATH
sPATH = "M:\MFWIN\Data"
dim sFUND
sFUND = "('FOM','KRAKOWIA')"
dim sSQL
sSQL = "SELECT OPNPOS.FUND, SECRTY.TKR, SECRTY.ISIN, OPNPOS.QTY, OPNPOS.LCL_ACCINC, PRIHST.PRICE / SECRTY.FACTOR AS CENA FROM (OPNPOS INNER JOIN SECRTY ON OPNPOS.TKR = SECRTY.TKR) INNER JOIN PRIHST ON SECRTY.TKR = PRIHST.TKR WHERE OPNPOS.FUND IN " & sFUND & " AND PRIHST.PRCDATE = #" & sDATA & "# ORDER BY OPNPOS.FUND"
dim conn, rs
Set conn = createobject("adodb.connection")
Set rs = createobject("adodb.recordset")
conn.Open "Driver={Microsoft dBASE Driver (*.dbf)};SourceType=DBF;Dbq="&sPATH
rs.Open sSQL,conn
我认为这是因为您需要说:
Left Outer Join
不只是
Left Join
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.