Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом!!! / 16 сообщений из 16, страница 1 из 1
20.11.2002, 15:32:48
    #32070222
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Имеем 2 таблички

tab1(id,name), tab2(id,data,org,itog) -
т.е. мастер-деталь по разным предприятиям и датам.
хочется постоить табличку

id,name,itog

для определенных значений (data, org),
НО, чтобы при отсутствии таких данных в tab2 выдавались 0/null, т.е.

select id,name,itog
from tab1 left join tab2 on tab1.id=tab2.id
where data='20.12.2000' and org=5

если нет значений, выдает пусто. А как сделать чтобы не пусто?
...
Рейтинг: 0 / 0
20.11.2002, 15:37:30
    #32070228
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
select id,name,itog
from tab1 left join tab2 on tab1.id=tab2.id and org=5
where data='20.12.2000'
...
Рейтинг: 0 / 0
20.11.2002, 15:45:46
    #32070232
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Код: plaintext
1.
2.
3.
SELECT a.id, a.name, IF((b.itog=NULL), 0 ,b.itog) as NEW_ITOG
FROM tab1 a LEFT JOIN tab2 b ON tab1.id=tab2.id
WHERE
b.data='20.12.2000' AND b.org= 5 
...
Рейтинг: 0 / 0
20.11.2002, 15:46:42
    #32070233
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Нет, так не пойдет. Если на эту дату нет ничего? то и получим ничего, а хочется чтобы тогда поле itog было пустое (ну или null)
...
Рейтинг: 0 / 0
20.11.2002, 15:49:16
    #32070237
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Тады так!
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
SELECT a.id, a.name, IF((b.itog=NULL), 0 ,b.itog) as NEW_ITOG
FROM tab1 a LEFT JOIN tab2 b ON tab1.id=tab2.id
WHERE
(
  b.data='20.12.2000'
  OR
  b.data IS NULL
)
AND
(
  b.org= 5 
  OR
  b.org IS NULL
)
...
Рейтинг: 0 / 0
20.11.2002, 15:49:33
    #32070238
Зайцев Фёдор
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
2mahoune
IF() ????
...
Рейтинг: 0 / 0
20.11.2002, 15:51:25
    #32070240
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Я SQL тонкостей в Microsoft SQL Server не знаю. А так SQL писать могу :) Как он у Вас там называется IF??? IIF наверное :)
...
Рейтинг: 0 / 0
20.11.2002, 15:55:05
    #32070247
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Так тоже не так ;-). Потому-как в tab2 НЕТУ значения с data=null. Т.е совсем нету.
...
Рейтинг: 0 / 0
20.11.2002, 16:05:02
    #32070257
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Так там же OR стоит!
...
Рейтинг: 0 / 0
20.11.2002, 16:06:22
    #32070259
dmmm
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
select id,name,itog
from tab1 left join tab2 on tab1.id=tab2.id
and tab2.data='20.12.2000' and tab2.org=5
...
Рейтинг: 0 / 0
20.11.2002, 16:14:34
    #32070268
zorro
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
М.б. так

select id, name,
isNull((select itog from tab2 where tab2.ID=tab1.ID
and data='20.12.2000' and org=5 ),0) as itog
from tab1
...
Рейтинг: 0 / 0
20.11.2002, 16:25:21
    #32070282
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
вот это условие даст false при любом раскладе, если нет записи в таблице:
Код: plaintext
1.
2.
b.data='20.12.2000'
  OR
b.data IS NULL

Что оно и дает - пусто возвращается
...
Рейтинг: 0 / 0
20.11.2002, 16:30:41
    #32070287
Glory
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
2IgorK
Обратите внимание на запрос, предложенный dmmm
...
Рейтинг: 0 / 0
20.11.2002, 16:33:19
    #32070291
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Пробовал и так - ответ такой-же
...
Рейтинг: 0 / 0
20.11.2002, 16:44:00
    #32070302
mahoune
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
Приведи пример как результат запроса должен выглядеть и желательно входящие данные тоже, по паре строк!
...
Рейтинг: 0 / 0
20.11.2002, 16:49:53
    #32070312
IgorK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом!!!
2Glory:
Сори, видимо где-то не так писал! То что надо, спасибо!!!
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Помогите с запросом!!! / 16 сообщений из 16, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]