Помогите с запросом пожалуйста!
Модераторы: m0p3e, edward_K, Модераторы
-
- Постоянный гость
- Сообщения: 55
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Тверь/Москва
- Контактная информация:
Помогите с запросом пожалуйста!
Есть таблица xlOS в которой находится реестр карточек с суммами, мне нужно сделать вьюху в котрой отбираются только те записи, которых нет в katos или у которых отличаются суммы (стоимость и износ)
Сделал такую вьюху:
.create view chk1 as
select *,spkatos.stoim, spkatos.sumizn from xlOS
where
((
xlOS.innum == katos.innum(noindex)
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and 281474976710667 == spkatos.cnastros
))
and (xlOS.stoim <> spkatos.stoim or xlOS.sumizn <> spkatos.sumizn)
order by xlOS.innum
;
nPodr - нрек подразделения который выбирается.
Это работает ОК, за исключением того что сюда не попадают карточки, которые есть в xlOS, но которых нет в katos.
Так вот, как переписать вьюху, чтобы попадали карточки, которых нет в katos? ???
Сделал такую вьюху:
.create view chk1 as
select *,spkatos.stoim, spkatos.sumizn from xlOS
where
((
xlOS.innum == katos.innum(noindex)
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and 281474976710667 == spkatos.cnastros
))
and (xlOS.stoim <> spkatos.stoim or xlOS.sumizn <> spkatos.sumizn)
order by xlOS.innum
;
nPodr - нрек подразделения который выбирается.
Это работает ОК, за исключением того что сюда не попадают карточки, которые есть в xlOS, но которых нет в katos.
Так вот, как переписать вьюху, чтобы попадали карточки, которых нет в katos? ???
-
- Постоянный гость
- Сообщения: 82
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва, Минск
- Контактная информация:
Re: Помогите с запросом пожалуйста!
Так ты сам такое условие задал, первой же строчкой xlOS.innum == katos.innum(noindex) ;D
Re: Помогите с запросом пожалуйста!
Нужны 2 вьюхи, а как ты склеишь результат решай сам либо во временной таблице либо выгружай в один файл. Галактический СКЛ беден и нищ.
-
- Постоянный гость
- Сообщения: 82
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Москва, Минск
- Контактная информация:
Re: Помогите с запросом пожалуйста!
А так, все очень просто, через синонимы можно поработать
.create view chk1
var nPodr : Comp
as select * from xlOS, synonym xlOS xlOS1 where
((
xlOS.innum == katos.innum
and Word(15) == KatOS.Tidk
and Comp(0) == KatOS.cHigerOS
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and comp(281474976710667) == spkatos.cnastros
and xlOs1.Innum /== Katos.Innum
))
Попробуй потом пробежаться по таблице xlOs1.
.create view chk1
var nPodr : Comp
as select * from xlOS, synonym xlOS xlOS1 where
((
xlOS.innum == katos.innum
and Word(15) == KatOS.Tidk
and Comp(0) == KatOS.cHigerOS
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and comp(281474976710667) == spkatos.cnastros
and xlOs1.Innum /== Katos.Innum
))
Попробуй потом пробежаться по таблице xlOs1.
Re: Помогите с запросом пожалуйста!
А еще лучше глянь содержимое chk1. Ухохочешся.
-
- Постоянный гость
- Сообщения: 55
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Тверь/Москва
- Контактная информация:
Re: Помогите с запросом пожалуйста!
2 JackVen:
неее...не то немного что я хотел
получается что синонимы никак не связаны?!?!?!
Опять таки получается надо два раза по таблице потом пробежать, сначала выводить где суммы расходятся, а потом уже выводить того чего нет в катосе.
А хочется сделать все за один раз
или я не правильно рассуждаю?
2 Oiko:
а чего ухохочешься то? ничо смешного не нашел
___________
без синонима как-то можно построить, печенкой чувствую...... ;D
неее...не то немного что я хотел
получается что синонимы никак не связаны?!?!?!
Опять таки получается надо два раза по таблице потом пробежать, сначала выводить где суммы расходятся, а потом уже выводить того чего нет в катосе.
А хочется сделать все за один раз
или я не правильно рассуждаю?
2 Oiko:
а чего ухохочешься то? ничо смешного не нашел
___________
без синонима как-то можно построить, печенкой чувствую...... ;D
Re: Помогите с запросом пожалуйста!
.create view chk1 as
select *,spkatos.stoim, spkatos.sumizn from xlOS
where
((
xlOS.innum == katos.innum(noindex)
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and 281474976710667 == spkatos.cnastros
))
and (xlOS.stoim <> spkatos.stoim or xlOS.sumizn <> spkatos.sumizn)
or (not isvalid(tnkatos))
order by xlOS.innum
select *,spkatos.stoim, spkatos.sumizn from xlOS
where
((
xlOS.innum == katos.innum(noindex)
and nPodr == katos.cpodr(noindex)
and katos.nrec == spkatos.ckatos
and 281474976710667 == spkatos.cnastros
))
and (xlOS.stoim <> spkatos.stoim or xlOS.sumizn <> spkatos.sumizn)
or (not isvalid(tnkatos))
order by xlOS.innum
Re: Помогите с запросом пожалуйста!
Ухохочешся в смысле что нужно правильно строить вьюху и бегать по ней а не по синонимам таблиц входящим в нее, пример JackVen аналогичен твоему, т.к. вьюха не содержит всех данных. Это пример убогого галактического СКЛ. Пример предложеный Sth всем неплох кроме того что это запрос не по индексам, и в галке на приличном по размеру катосе он будет выполнятся часами.
Еще раз повторюсь на галактическом СКЛ (это такой новый термин) нормальные кострукции невозможны, приходится извращатся кто как может.
Еще раз повторюсь на галактическом СКЛ (это такой новый термин) нормальные кострукции невозможны, приходится извращатся кто как может.
-
- Постоянный гость
- Сообщения: 55
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: Тверь/Москва
- Контактная информация:
Re: Помогите с запросом пожалуйста!
sth СПАСИБО!
вот оно!!! то что искал...
надо было or isvalid поставить!
а меня зациклило на and
Тогда попутный вопрос!!!!!!
Чем отличается
isValid(...) от isValidAll(...)
???
вот оно!!! то что искал...
надо было or isvalid поставить!
а меня зациклило на and
Тогда попутный вопрос!!!!!!
Чем отличается
isValid(...) от isValidAll(...)
???