|
|
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Аксес 97-й, mdb. Собственно есть Запрос1 Код: plaintext 1. 2. Столбцов в запросах А и Б одинаковое количество, они одинакового типа и даже называются одинаково. Запрос работает. Данные выдаются. Все отлично, все прекрасно. Ровно до тех пор пока не пишем Запрос2 Код: plaintext Выдается ошибка "В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов" Причем "Select * From Запрос1" работает. Наталкиваюсь на такое безобразие уже в который раз. Раньше было на запросах с уровнем вложенности порядка 15, грешил на слишком сложные конструкции, лечил радикальным переписыванием всего. Тут же структура простая, поменять ее не получится, как бороться - непонятно. Я уже устал вокруг этого запроса с бубном плясать. Сам по себе - работает, делаешь на основе него новую выборку - не работает, только если выборка Select * - то снова работает. Горе мне, бедному еноту. Кто-нить сталкивался с подобной проблемой? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:13 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
> структура простая, поменять ее не получится А это ты напрасно. :^) Код: plaintext 1. 2. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:16 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
SP jet'а все стоят? Для теста сделал две простейшие таблицы и два запорса, потом все как у тебя. Выбирает и не жужжит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:20 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 IgorM Для теста и у меня все нормально :), а вот для жизни не совсем :( СП для джета стоят не все. Аксес 97-й СП2, а отдельных сервиспаков для джета 3.5 я что-то не нашел. 2 Саныч Если б можно было - я бы так и сделал. В том то и дело, что этот юнион в дальнейшем еще используется, на него програмно накладываются условия, формируемые динамически с помощью какого-то ахеренного механизма. Модифицировать механизм я упарюсь, нужен именно запрос, способный как он есть работать источником для другого запроса. Такова жись. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:29 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Где тут Сенин Виктор? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:29 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
SP jet'а все стоят? у меня на XP берёт любой столбец из union без сервиспаков ... причем на юнионе в третьем вложении тоже пара юнионов :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:30 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
А если вместо * поставить список полей через зпт? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:30 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Саныч Не было никакого Сенина Виктора Если * заменить на список хоть всех полей, хоть не всех полей - все ломается. 2 Артист Да я помню как у меня до 14-го уровня было все нормально, а на 15 сломалось. Было еще и с меньшей степенью вложенности. Где-то аксесу плохо становится.. Знать бы где.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:33 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
> Если * заменить на список хоть всех полей, хоть не всех полей - все ломается. Почему? Потому что у таблицы список полей меняется динамически? Так, может, с этим как-то связана и обсуждаемая проблема? Может, таблица какая-то не такая? Попробуй то же самое на обычной таблице. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:36 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
У базовых таблиц список полей не меняется. Во всех сохраненных запросах список полей не меняется. Нигде ничего не меняется. Сам Union отрабатывает и не жужжит. Когда добавляешь его в конструктор - он отображается нормально, со списком полей. Т.е. аксес его (Union) и скомпилить сумел, и использовать умеет (вернее думает что умеет), а вот как доходит до выполнения - разное число столбцов там, где оно только что было одинаковое. Бред. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:41 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
А что ты имел в виду под "все ломается"? Если поставить вместо * список полей, то а) не работает как и со * или б) не удается реализовать алгоритм? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:44 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Я сталкивался с похожей проблемой, но только в SQL на SQL 7.0 инструкция типа Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. отказывалась работать, а на 2000-м работала прекрасно. Поскольку я перешел на 2000-й, то решил не копаться глубоко. Понимаю, что это мало чем поможет... P.S. Э-эх Microsoft!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:51 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
[offtopic] ЛП, тебе уже практически дорогу из желтого кирпича выложили к Access'y XP. А ты все на 97... [/offtopic] ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:56 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Саныч Да алгоритм то не причем. Еще раз по пунктам: Запрос1 - работает Select * From Запрос1 - работает Select [ЛюбоеПоле] From Запрос1 - не работает. Ошибка 3307, "В таблицах или запросах, выбранных в запросе на объединение, не совпадает число столбцов" Select перечислили все поля From Запрос1 - не работает. Шаманство... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:56 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Темный Дорогу то выложили... Но если я на ХР свалю - кто ж им будет 97-й программить :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:57 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Лох, я не о том!!! Я предлагаю сам Запрос1 переделать. Select перечислили все поля From ЗапросА Union All Select перечислили все поля From ЗапросБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 16:58 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Саныч Не могу. К этому юниону на ходу прикручиваются составленные гоммункулусом предложения Select (что еще можно побороть), Where (что тоже можно побороть) и навешиваются агрегаты с группировками (вот тут-то кал и начал стекать в сапоги). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:02 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Тьфу. Саныч, я тебя опять неправильно понял. То, что ты предложил - пробовал. Не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:03 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
А извращаться пробовал? Например, засунуть последнюю конструкцию в рекордсет? И чего он на это скажет. //коллективные пляски с бубном начались. MSDN молчит, гад. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:12 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
>Где тут Сенин Виктор? Я тут >Не было никакого Сенина Виктора Не было == По делу чуть по пойзже ибо колбасю функцию на 50 с чем то полей (ака перекрестный запрос), если ошибусь по не внимательности - мне пипиську оторвут :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:18 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
а соответственные поля по разному именуются в селектах юниона? если да, мож попробовать их обозвать по одинаковому? Select поле1 as X, поле7 as Y ... From ЗапросА Union All Select поле2 as X, поле5 as Y ... From ЗапросБ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:19 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Все конструкции засовывал в во все рекордсеты. Не помогает. Чувствую придется мне сегодня вечером мароссс петь, в бубен бить, злых духов от компа отгонять. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:22 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Артист: автор писал:они одинакового типа и даже называются одинаково ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:22 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Артист Поля именуются одинаково. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:22 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2ЛП Если возможно, дай текст ошибки на англицком языке ну или ее нумер ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:24 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
3307 - The number of columns in the two selected tables or queries of a union query don't match . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:26 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
За аглицкий текст сенькс. Залез с головою в гугль. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:28 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 ЛП Ты не одинок! Правда это не твой случай: Код: plaintext 1. 2. 3. 4. 5. 6. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:31 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Вылезай, я уже на AltaVista побывал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:31 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Я писал:Если * заменить на список хоть всех полей, хоть не всех полей - все ломается Небольшая, но интересная поправочка. ЗапросА и ЗапросБ имеют одинаковую структуру - большой джойн, группировка по первым семи полям + суммирование по еще двум (вычисляемым). Так вот, Select Поле1,2,3,4,5,6,7 From Запрос1 - ошибка, Select Поле8, Поле9 From Запрос1 - работает. Не до конца проверил, каюсь. Првада это мне мало помогает, но хоть за что-то можно зацепиться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:50 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Вставь первое поле фиктивное и работай со всеми кроме него. :^) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 17:52 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
ААААААААААААААаа Заработало!!!! Я еще не понял как, завтра буду выводить закономерность Мааарррооооссс мааароооссс ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 18:02 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 18:54 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Саныч, ты чего наделал? У меня теперь [new] не убирается с топика совсем. Удали свое модерское сообщение и мое. А потом создай свое модерское с тем же содержанием. ИМХО, должно помочь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 19:05 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
> У меня теперь [new] не убирается с топика совсем. :^) Знаю. У меня тоже не убирается. Это надо Джаджу показать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 19:08 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Че хоть было то? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 19:26 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Описание проблемы с [new]: Если модератор удаляет последнее сообшение, которое я уже видел - то [new] так и останется висеть. Предполагаю, что до удалния куков или до того момента, как кто-то ответит еще раз. Куда-то пишется id той самой записи, которую я видел последний раз, а потом просто сравнивается с тем что есть. Причем сравнивается только в одну сторону. По сему предлагаю обновлять енто самое значение при каждом заходе меня в топик. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 20:09 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 Темный: Не надо при каждом заходе. Просто оно проверяется на =. А надо на <=. 2 Лох: А мы тут пытались сконструировать прибор для определения степени опьянения тебя. Темный предлагал что-то похожее на гаишную трубочку, а я - интеллектуальную мышь, которая реагирует на дрожание руки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 21:39 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 В.С. : А, собсно, почему? Ведь тогда не надо условия.... тпру-у-у... Мля, а ведь надо и то и это Торможу-с... В списке топиков проверять на <=, а при заходе принудительно обновлять (хотя, если подумать, то это уже, наверно, сделано давно). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 21:46 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2ЛП Интересно - что было. Судя по МСДН с Union query должно быть только 2 проблемы: Memo & Ole поля и при линковки таблиц Оракла. А в остальном - тишина (а вдоль дорого мертвые с косами стоятъ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.11.2003, 23:06 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
То Лох Позорный: Немного поздно, но все же: а если сделать так: SELECT field1 as field1, field2 as field2 .... FROM QueryA UNION ALL SELECT field1, field2.... FROM QueryB и дальше попробовать сделать твой селект: SELECT field1 FROM QueryUnion??? Может поможет? ;-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 00:07 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2 TRoUbLEs Да пробовал я так, не работало. Теперь работает. Вот ведь блин. 2 Сенин Виктор Мне самому интересно. Я заставил этот запрос заработать совсем бредовым способом - перечислил все поля в другом порядке, задом наперед. Сделано было от безысходности, но заработало (вот ведь блин!). Потом заметил, что выборка из юниона работает, но при условии что выбирается хоть одно агрегатное поле (из самых нижних запросов), а если только группировочные поля - то хрен вам. Почему раньше перечисление всех полей не работало - пока не понял. Или мне под конец дня приснилось что-то непонятное... Сегодня буду на тестовой базке запросы писать, ибо не гоже с бубном плясать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 09:15 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2ЛП >перечислил все поля в другом порядке, задом наперед. А что это за поля? Типы, размеры, наличие индексов. План выполнения строится? == Блин, не очень удобно давать что-то спрашивать у тебя. Наверняка уже все попробовал, все посмотрел. Так что - извини, если какую глупость спросил. === В силу твоей везучести - скорей всего попал еще на одну не документированную фичу от Некрософт - типа X-Prod Join ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 09:22 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
А что это за поля? Типы, размеры, наличие индексов. План выполнения строится? Наталкивался на такое несколько раз, поля совершенно разных типов, размеров и цветов, от индексов тоже не зависит. Потому и не стал типы полей указывать. В силу твоей везучести - скорей всего попал еще на одну недокументированную фичу от Некрософт - типа X-Prod Join Как оно называется - еще не знаю, но повторить на новой базе удалось. Сейчас скриптик выложу, кто захочет сможет поиграть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 09:55 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Обещанный скриптик. Создает тестовые таблички и глючные запросы. Данные не нужны. Глючит под 97-м. Под ХР - все ок даже с непропатченным джетом. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:21 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Мне кажется, что когда запрос получается очень сложный и начинаются подобные пляски с бубном, нужно использовать промежуточную таблицу(таблицы) для хранения результатов вычислений. Т.е., в Вашем случае вместо Select * From ЗапросА Union All Select * From ЗапросБ Delete From Запрос1 INSERT INTO Запрос1 SELECT * FROM ЗапросА INSERT INTO Запрос1 SELECT * FROM ЗапросБ Это снимает все ограничения на сложность запроса и результирующий набор веселее шуршит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:23 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
гм... но ведь то, что я привел - это не сложный запрос... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:25 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Я на первый пост топика ответил:-) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:27 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2ЛП Мб тут собака порылась: select cstr(MyField) as aaa from Mytable union select cdbl(MyField) as aaa from mytable; вернет таблицу из строкового поля, а если поменять селекты местами - из числового. М.б. случайно в результате запроса из-за какого-нибудь ведущего Null типы данных путаются? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:29 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Гео, ну у меня же в тестовом примере даже таблицы абсолютно одинаковые, только названием отличаются. Глючит и вообще без данных, и с абсолютно одинаковыми данными в обеих таблицах, и с разными данными. Явное приведение типов делал. Не спасло. Если из юниона выбирается хотя бы один агрегатный столбцец низлежащих запросов - работает, если только группировочные - разное число столбцов. Хрен бы с ним конечно, буду выбирать ненужные на данном этапе агрегаты. Но все равно прикольно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 10:41 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Лох, такое идиотсткое сообщение о несовпадении количества столбцов в аксес можно получить если в вычисляемом поле исходного запроса (Запрос1) есть ошибка (#Ошибка) в каком нибудь хитром случае. Если ошибка идентифицируется аксесом, то получишь сообщение именно об этой ошибке (типа деление на 0), если чтонить посложнее, тогда и происходит такой выбрык (ну, не может аксес предусмотреть все случаи обработки ошибок). У тебя все заработало случайно не после того как ты исходные данные в таблицах поменял или изменил способ вычисления? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:30 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Насколько я сталкивался, если в вычисляемом поле исходного запроса есть #ошибка, то выдается несоответствие типов данных в условии отбора, а не несовпадение количества столбцов. Но вычисляемых полей нет. Есть только агрегат (суммирование в моем случае), и вот он то и должен обязательно присутствовать в итоговой выборке, иначе не работает. Данные не менял, способ вычисления не менял, изменил только итоговый набор полей. А тестовый пример вообще без данных глючит с такими же симптомами. И с данными глючит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:36 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Прикольно. (постараюсь запомнить) Интересно, что ключевым для проявки бага является не только GROUP BY, но и ALL (в UNION). Если его убрать - все хоккей. Отсюда - марал: Добавляем в запросы по ,1 AS Exp1 (в 1-й), 2 AS Exp1 (во второй) (...n AS Exp1 -в n-й :0) в список полей и избавляемся от необходимости писать ALL в UNION. Канешна - всего лишь одно из "средств от тараканов". Но должно помочь. Опять же-ж ненужных агрегатов не надь вычислять. я в 97 jet апдейтил надысь (с подачи ЛП). В АКС2000 проблем нет (его джет, кажисть, рюхает). Итого, набирается: 1. глюк с левым джоном и константой в полях объединения (от 2-го до 2000 Акса). Назовем "Левая константа". 2. глюк с левым джоном и булевым полем (в 97-м и 2000 точно есть) в присоединяемой таблице, выводимой в набор с группировкой (в т.ч.- именно по этому полю). (Сообщение "Текущая запись отсутствует". Борется хотя бы Nz(буля), или {t.[буль]+0 AS буль}) (для себя обозвал "Null в буле (из-за ЛефтДжона) + GROUP BY буль). 3. И вот этот глюк - "столкновение GROUP BY и UNION ALL". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:37 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
2. глюк с левым джоном и булевым полем (в 97-м и 2000 точно есть) в присоединяемой таблице, выводимой в набор с группировкой (в т.ч.- именно по этому полю). (Сообщение "Текущая запись отсутствует". Борется хотя бы Nz(буля), или {t.[буль]+0 AS буль}) (для себя обозвал "Null в буле (из-за ЛефтДжона) + GROUP BY буль). Во блин, а я это тоже наблюдал. Только не догадался буль + 0 As буль сделать. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:46 |
|
||
|
Запрос-Union работает сам по себе, не работает в другом запросе (ПАМАГИТЕ!)
|
|||
|---|---|---|---|
|
#18+
Во блин, а я это тоже наблюдал. Только не догадался буль + 0 As буль сделать дык я во ВТОРОЙ раз тоже не догадался (вспомнил, что этот запрос правил уже кому-то и решил сравнить. Когда сравнивал - вспомнил, что "уже бился". Тады (в первОй, бишь, раз) я почему-то быстро сообразил выкинуть часть полей и сразу понял что проблема в нем, - в поле. А во второй-то раз мозги не захотели напрягаться. Все пытался по разному сджойнить (там было табличек 5, - пара иннеров да пара лефтов,). Это уж потом придумал попытаться запомнить глюк по имени. Все одно не помню. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.11.2003, 11:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=45&tid=1678315]: |
0ms |
get settings: |
6ms |
get forum list: |
11ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
53ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 221ms |
| total: | 357ms |

| 0 / 0 |
