Paradox DB SQL多重联接

Paradox DB SQL多重联接,sql,vb6,paradox,Sql,Vb6,Paradox,我正在处理一个旧版VB6项目,需要进行如下连接调用: SELECT C.Cnum, C.RealDate, M.Name, R.Price, R.Qnt, R.RealPrice, R.QntP, R.QntR, M.Name FROM "CHECK" C LEFT JOIN "RCHECK" R ON C.Cnum = R.Cnum LEFT JOIN "PCHECK" P ON C.Cnum = P.Cnum LEFT JOIN "MONEY" M ON P.Curency = M.S

我正在处理一个旧版VB6项目,需要进行如下连接调用:

SELECT C.Cnum, C.RealDate, M.Name, R.Price, R.Qnt, R.RealPrice, R.QntP, R.QntR, M.Name
FROM "CHECK" C 
LEFT JOIN "RCHECK" R ON C.Cnum = R.Cnum 
LEFT JOIN "PCHECK" P ON C.Cnum = P.Cnum 
LEFT JOIN "MONEY" M ON P.Curency = M.Sifr 
LEFT JOIN "MENU" MN ON R.Sifr = MN.Sifr 
WHERE C.Cnum > 0 ORDER BY C.Cnum
FROM 
    (
        "CHECK" C
        INNER JOIN 
        "RCHECK" R
            ON C.Cnum = R.Cnum 
    )
    INNER JOIN 
    "PCHECK" P
        ON P.Cnum = C.Cnum 
我使用
“Driver={Microsoft Paradox Driver(*.db)};DriverID=538”
作为连接字符串的一部分,但它似乎不支持多个连接!这很奇怪

有没有办法解决/解决这个问题

是的,当我在Borland数据库桌面上运行这个查询时,它工作得很好

更新1:

我的VB代码:

Dim Conn As New ADODB.Connection
Dim sConnStr As String
Dim sQuery As String

sConnStr = "Driver={Microsoft Paradox Driver (*.db )};DriverID=538;Fil=Paradox 5.X;CollatingSequence=ASCII;DBQ=C:\DBTOFTP\BUFF;DefaultDir=C:\DBTOFTP\BUFF;PWD=SOMEPASS;"

sQuery = "SELECT C.Cnum, C.RealDate, M.Name, R.Price, R.Qnt, R.RealPrice, R.QntP, R.QntR, M.Name " & _
    "FROM ""CHECK"" C " & _
    "LEFT JOIN ""RCHECK"" R ON C.Cnum = R.Cnum " & _
    "LEFT JOIN ""PCHECK"" P ON C.Cnum = P.Cnum " & _
    "LEFT JOIN ""MONEY"" M ON P.Curency = M.Sifr " & _
    "LEFT JOIN ""MENU"" MN ON R.Sifr = MN.Sifr " & _
    "WHERE C.Cnum > 0 " & _
    "ORDER BY C.Cnum"

Conn.ConnectionString = sConnStr
Conn.Open

一些旧的驱动程序通常要求多个连接必须用括号括起来

试着这样做:

SELECT C.Cnum, C.RealDate, M.Name, R.Price, R.Qnt, R.RealPrice, R.QntP, R.QntR, M.Name
FROM "CHECK" C 
LEFT JOIN "RCHECK" R ON C.Cnum = R.Cnum 
LEFT JOIN "PCHECK" P ON C.Cnum = P.Cnum 
LEFT JOIN "MONEY" M ON P.Curency = M.Sifr 
LEFT JOIN "MENU" MN ON R.Sifr = MN.Sifr 
WHERE C.Cnum > 0 ORDER BY C.Cnum
FROM 
    (
        "CHECK" C
        INNER JOIN 
        "RCHECK" R
            ON C.Cnum = R.Cnum 
    )
    INNER JOIN 
    "PCHECK" P
        ON P.Cnum = C.Cnum 

是否已验证查询使用单个
左联接运行,但随后失败2次或2次以上?是的,它使用单个联接运行,失败2次或2次以上:(您是否也可以向我们显示执行此查询的相关VB代码?当然,更新了类似问题的数学运算,只为每个运算添加了更多括号。Microsoft Access创建了他的“连接”有了这个“括号地狱”,你可以用它来创建你的查询。你能展示一下这4个连接的例子吗?我试图用括号添加第三个连接,结果显示了一个错误…
选择TA.fieldA,TB.fieldB,TC.fieldC,TD.fieldD FROM((TA.id=TB.aid上的TA内部连接TB)TB.id=TC.bId上的内部连接TC)TC.id上的内部连接TD=TD.cId;