Форум: "Базы";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
ВнизЗапрос SQL Найти похожие ветки
← →
saf (2002-04-03 10:46) [0]Хочу объединить таблицы для статистики.
Делаю так:
select Nametovar, NoNaklad, Kolvo, Zena
from rashod
union all
select Nametovar, Nnaklad, Kolvo, Zena
from prihod
Выдаёт ошибку "Type Mismatch in expression"
Пробую по другому:
CREATE VIEW prihod_stat (Nametovar, NoNaklad, Kolvo, Zena)
AS SELECT prihod.Nametovar, NoNaklad, Kolvo, Zena
From prihod,rashod
Выдаёт ошибку "Capabiliti not Supported"
Поьогите разобраться, пожалуйста!!!!
← →
Johnmen (2002-04-03 11:35) [1]1. ...union all... Что за загадочное слово all ?
2. Не указано правило объединения таблиц...
Подучи SQL (без обид..) ;o)
← →
Desdechados (2002-04-03 11:39) [2]VIEW поддерживается только SQL-серверами, к которым Paradox не относится.
А в первом варианте попробуй сделать явное преобразование типов CAST() для каждого поля в обоих частях SELECT
← →
Desdechados (2002-04-03 11:42) [3]2 Johnmen ©
Подучи SQL (без обид..) - по поводу all
← →
saf (2002-04-03 12:39) [4]Обид нет. Я уже задавал этот вопрос и мне так посоветовали.
Купил крутую книгу "SQL для чайнаков", читаю, второй пример от туда.Что значит преобразование типов CAST(), у меня все эти поля соответствуют по типам?
← →
fnatali (2002-04-03 13:03) [5]>saf © (03.04.02 12:39)
Такая ошибка говорит о несовпадении типов.Но они не только по типу должны совпадать, но и по размеру.Проверь.
← →
Aleksandr (2002-04-03 13:26) [6]Я не понял, а зачем all?
Достаточно просто union...
← →
Johnmen (2002-04-03 13:30) [7]>fnatali © :
>...они не только по типу должны совпадать...
Не обязательно...
← →
Aleksandr (2002-04-03 13:38) [8]Да, совпадения по типу достаточно... В одной таблице может быть поле VARCHAR(10), а во второй VARCHAR(15), кроме того, количество полей и их порядок тоже могут быть разными... Лишь бы порядок и количество перечисленных в запросе полей совпали.
← →
saf (2002-04-03 16:03) [9]Aleksandr если так, то у меня ошибка, проверю размер, совмещу,
потом раскажу.
← →
saf (2002-04-03 16:40) [10]Сделал все поля соответствующими даже по имени и запрос такой:
select DatNakl, Nametovar, NoNaklad, Kolvo, Zena
from rashod
union
select DatNakl, Nametovar, Nonaklad, Kolvo, Zena
from prihod
Ошибка прежняя
П-О-М-О-Г-И-Т-Е !!!!!
← →
roottim (2002-04-03 16:46) [11]по красоте запрос выглядит прилично!.. но попробуй так.. мб поможет
select r.DatNakl, r.Nametovar, r.NoNaklad, r.Kolvo, r.Zena
from rashod r
union
select p.DatNakl, p.Nametovar, p.Nonaklad, p.Kolvo, p.Zena
from prihod p
← →
Donal_Graeme (2002-04-03 18:47) [12]2 saf: точно типы соотвествуют вплоть до размера полей?
попробуй такой вариант :
select Cast (DatNakl as DateTime), Cast (Nametovar as alpha (255)), Cast (NoNaklad as alpha (255)), Cast (Kolvo as int), Cast (Zena as money)
from rashod
union all
select Cast (DatNakl as DateTime), Cast (Nametovar as alpha (255)), Cast (NoNaklad as alpha (255)), Cast (Kolvo as int), Cast (Zena as money)
from prihod
2 Aleksandr :
all в union писать обязательно, если хочешь получить все записи.
в select по умолчанию all а в union по умолчанию distinct.
другими словами
select all = select
union distinct = union
← →
saf (2002-04-04 19:40) [13]Таблицы проверил несколько раз, всё точно соответствует
Вариант от roottim выдает ту же ошибку,
а вариант Donal_Graeme - ругается на слова DateTime,alpha и т.д.
А может не работать из-за того что у таблиц есть поле autoincrement???? Попробую убрать.
← →
saf (2002-04-04 19:53) [14]Убрал autoincrement - тоже самое "Type Mismatch in expression"
Типы полей:
DatNakl - Date
Nametovar - alpha
NoNaklad - alpha
Kolvo - int
Zena - money
← →
Donal_Graeme (2002-04-05 11:48) [15]э... а может, дело не в запросе вовсе?
проверь связанные с кверём таблицы, может, там уже прописаны поля с другими типами. или ты после выполнения запроса вытаскиваешь из него данные не с тем типом.
← →
kserg@ukr.net (2002-04-05 12:37) [16]Может дело в в группирующих скобках в запросе?
Я имею ввиду след:
(select 1) UNION ALL (select 2) UNION ALL (select N)
Причем если результат надо отсортировать,
то условия ORDER BY надо лепить в последнем запросе.
У меня таким макаром все пашет.
Удачи.
← →
kserg@ukr.net (2002-04-05 16:22) [17]1
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c