Доброго денечка. Соединяю 5 таблиц с помощью Left Join. Запрос формируется и выполняется VBA Excel. Строка подключения: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" & strFilePath & """;Extended Properties=""Excel 12.0;HDR=yes"";" (строка рабочая, проверено не раз)
Есть ограничения с количеством объединений в одном таком запросе?
мой неработающий запрос: [vba]
Код
Select * from (select Row as Поставщик_Row , Fact as Поставщик_Fact, Type as Поставщик_Type from Stake where Range = 'Sheet1' AND Type = 'Поставщик') [myПоставщик] LEFT JOIN (select Row as Количество_Row , Fact as Количество_Fact, Type as Количество_Type from Stake where Range = 'Sheet1' AND Type = 'Количество') [myКоличество] on [myПоставщик].Поставщик_Row = [myКоличество].Количество_Row
Left Join (select Row as Товар_Row , Fact as Товар_Fact, Type as Товар_Type from Stake where Range = 'Sheet1' AND Type = 'Товар') [myТовар] on [myПоставщик].Поставщик_Row = [myТовар].Товар_Row
Left Join (select Row as Клиент_Row , Fact as Клиент_Fact, Type as Клиент_Type from Stake where Range = 'Sheet1' AND Type = 'Клиент') [myКлиент] on [myПоставщик].Поставщик_Row = [myКлиент].Клиент_Row
Left Join (select Row as Адрес_Row , Fact as Адрес_Fact, Type as Адрес_Type from Stake where Range = 'Sheet1' AND Type = 'Адрес') [myАдрес] on [myПоставщик].Поставщик_Row = [myАдрес].Адрес_Row
[/vba]
Доброго денечка. Соединяю 5 таблиц с помощью Left Join. Запрос формируется и выполняется VBA Excel. Строка подключения: "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=""" & strFilePath & """;Extended Properties=""Excel 12.0;HDR=yes"";" (строка рабочая, проверено не раз)
Есть ограничения с количеством объединений в одном таком запросе?
мой неработающий запрос: [vba]
Код
Select * from (select Row as Поставщик_Row , Fact as Поставщик_Fact, Type as Поставщик_Type from Stake where Range = 'Sheet1' AND Type = 'Поставщик') [myПоставщик] LEFT JOIN (select Row as Количество_Row , Fact as Количество_Fact, Type as Количество_Type from Stake where Range = 'Sheet1' AND Type = 'Количество') [myКоличество] on [myПоставщик].Поставщик_Row = [myКоличество].Количество_Row
Left Join (select Row as Товар_Row , Fact as Товар_Fact, Type as Товар_Type from Stake where Range = 'Sheet1' AND Type = 'Товар') [myТовар] on [myПоставщик].Поставщик_Row = [myТовар].Товар_Row
Left Join (select Row as Клиент_Row , Fact as Клиент_Fact, Type as Клиент_Type from Stake where Range = 'Sheet1' AND Type = 'Клиент') [myКлиент] on [myПоставщик].Поставщик_Row = [myКлиент].Клиент_Row
Left Join (select Row as Адрес_Row , Fact as Адрес_Fact, Type as Адрес_Type from Stake where Range = 'Sheet1' AND Type = 'Адрес') [myАдрес] on [myПоставщик].Поставщик_Row = [myАдрес].Адрес_Row
Попробуйте задать алиасы для подзапросов - и в условиях соединения использовать алиас (плюс правильно расставить скобки): ((SELECT .... ) t1 LEFT JOIN (SELECT ... ) t2 ON t2... = t1...) t12 LEFT JOIN (SELECT ....) t3 ON t12... = t3...
Попробуйте задать алиасы для подзапросов - и в условиях соединения использовать алиас (плюс правильно расставить скобки): ((SELECT .... ) t1 LEFT JOIN (SELECT ... ) t2 ON t2... = t1...) t12 LEFT JOIN (SELECT ....) t3 ON t12... = t3... AndreTM