Я работаю над проектом наследие VB6 и мне нужно сделать JOIN вызов, как это:Paradox DB SQL Multiple JOINS
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
я использую "Driver={Microsoft Paradox Driver (*.db)};DriverID=538"
как часть строки соединения, но это, кажется, что Безразлично» t поддерживает более одного соединения! Что странно.
Любые идеи о том, как их решить или обходить?
И да, когда я запускаю этот запрос в Borland Database Desktop, он отлично работает.
Update 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
Подтвердили, что запрос выполняется с одним 'ЛЕВЫЙ JOIN' но терпит неудачу на 2 или больше? –
Да, он работает с одним и не работает с 2 или более :( –
Можете ли вы также показать нам соответствующий код VB, где вы выполняете этот запрос? –