Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.04.25;
Скачать: CL | DM;

Вниз

Запрос 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;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.026 c
1-80902
Кулюкин Олег
2002-04-15 09:12
2002.04.25
ручная отрисовка ListView, проблемма при изменении ширины столбца


3-80766
merr
2002-04-04 12:55
2002.04.25
paradox-базы в Delphi


1-81008
danger
2002-04-12 02:21
2002.04.25
Как в обьект Richedit загрузить текст из Wordовского файла(DOC)


3-80749
Fareader
2002-03-25 15:46
2002.04.25
Глюк DBGridEh


7-81087
Ura
2002-01-23 12:46
2002.04.25
Определение принтера в системе (Повтор)