![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Через ADO не работает SQL запрос в Access, из Access нормально.. [D7]
Layner © (2005-10-10 09:25:00)В общем ничего сложного, запрос из Access проходит на ура:
SELECT t1.*,
(SELECT SUM(t2.kolvo) FROM t2 WHERE t2.rid=t1.rid) AS fffff
FROM t1
WHERE f1=10
ORDER BY t1.date DESC
Тот же, но в ADOQuery пищет ошибку E_FAIL... Если убрать поле fffff, все нормально, или даже не убирать, а просто вписать
5 AS fffff
Тоже все нормально...
Подскажите, это ADOQuery не понимает вложенные запросы?
Fay (2005-10-10 15:45:00) [1]2 msguns © (10.10.05 15:23) [5]
>> Ага, они такие разные-разные ;)))
Разные. Это меня радует, но ничего смешного в этом не вижу.
msguns (2005-10-10 15:23:00) [2]>Fay © (10.10.05 14:41) [4]
>Не могу согласиться с тем, что Access и мой любимы MSSQL объединяют какие-то глюки! >8-(
Ага, они такие разные-разные ;)))
Fay (2005-10-10 14:41:00) [3]2 msguns © (10.10.05 11:45) [3]
Не могу согласиться с тем, что Access и мой любимы MSSQL объединяют какие-то глюки! >8-(
Скажу только, что запросы видаselect * ...действительно глюгогенны.
Целевой сервер не имеет значения.
msguns (2005-10-10 11:45:00) [4]Дело в тупом использовании "*" в выборке из вложенного запроса с агрегатами. Аксцес при обработке агрегатных запросов создает НД с неименованными (точнее бланковыми) колонками агрегатов (в этом нетрудно убедиться, посмотрев полученный НЛ в самом акцесе) и если "внешний" запрос перечисляет все колонки для вывода (*), в т.ч. и "пустую" агрегатную, то при его выполнении "спотыкается" при обнаружении первой же "бланковой". Поэтому во вложенных запросах всем calc-полям, в т.ч. агрегатным, надо присваивать псевдонимы.
Кроме того, запросы SELECT * FROM (SELECT.. хранят в себе потенциальные глюки. Это касается не только Акцесс, но и MS SQL
Layner (2005-10-10 09:33:00) [5]Тогда ничего не понимаю, на чем слетает.. Может одинаковые поля где есть, сейчас поищу, разделю... Хотя ADOQuery на пофиг все что проходит в запросах в Access. Например с ф-й nz(т.е. аналог ISNULL.). Низачто не проходит в ADOQuery .. Я думаю, может и сдесь такой же случай?
Fay (2005-10-10 09:29:00) [6]2 Layner © (10.10.05 9:25)
ADOQuery пофиг.