Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
ВнизInner Join в Interbase Найти похожие ветки
← →
Vemer (2003-10-19 19:34) [0]Здравствуйте.
Есть ли в Ibase SQL-команда, подобная Access:овскому Inner Join.
Хочется из одной базы в другую обновление количества товаров
одной SQL командой перекинуть, а не перебором строк.
Следующий запрос почему-то поля, которые не подлежат обновлению в Null скидывает (X + Null неравно X?):
Update baza
Set baza.kolvo = baza.kolvo + (Select Kolvo From Privoz
Where Baza.pin = Privoz.PIN);
← →
Nikolay M. (2003-10-19 20:14) [1]
> X + Null неравно X
Угу. X + Null = Null.
Добавь в подзапросе ...AND Privoz.Kolvo IS NOT NULL.
Да, и давай все-таки нормальные названия полям/таблицам: quantity, input, baze и тд, а то аж глаза такое режет... :(
← →
Sergey_Masloff (2003-10-19 22:18) [2]Есть в IB inner join. Только нафига он тут?
← →
Vemer (2003-10-20 10:57) [3]To Nikolay
Спасибо за совет, буду пробовать.
Насчет названии - на Russkom я даю имена столбцам, а на английском - переменным, меньше путаницы. Притом Kolvo короче и понятнее для склада.
To Sergey_Masloff
А вариант/пример слабо кинуть разумеется.
← →
Danilka (2003-10-20 11:04) [4][3] Vemer © (20.10.03 10:57)
>А вариант/пример слабо кинуть разумеется.
Кто-же так требует пример? Надо не брать на слабо, а именно требовать, стучать кулаками, кричать на него что он обязан дать тебе код! Вот тогда, он извиниться за свое нехорошее поведение и приведет тебе примеры полностью готовой процедуры и программы.
← →
Zhouck (2003-10-20 12:22) [5]>>Есть в IB inner join. Только нафига он тут?
Да потому что в SQL он есть.
В Ibase есть почти все команды SQL кроме всяких
minus,inrersect etc (множественные)
← →
Vemer (2003-10-20 13:29) [6]To Danilka
Если человек что-то утверждает, обычно это чем-то подкрепляется, в нашем случае это 1 SQL-строка для конкретного, приведенного в моем вопросе примера. А просто сказать "Типа есть/Типа нет" может всякий (не хочу никого обижать).
To all.
Вариант Николая не сработал. Напишите мне пожалуйста SQL-строчку для прибавления в Baza.Kolvo значений из Privoz.Kolvo когда Baza.ID = Privoz.ID, но чтобы другие строки Baza не затрагивались.
← →
dmtr (2003-10-20 15:52) [7]Скажи, а зачем тебе таблица Privoz7
← →
Vemer (2003-10-20 16:10) [8]To Dmtr
Найди на клаве кнопку Shift.
Каждый месяц на склад поступает контейнер с одинаковым набором деталей, ассортимент около 2000. Состав контейнера забит в Privoz. При поступлении надо к Baza.kolvo прибавить Privoz.kolvo, но только для деталей которые в контейнере, а не набивать вручную.
← →
dmtr (2003-10-20 16:22) [9]Т.е. в Privoz забивает кто-то другой ?
← →
Nikolay M. (2003-10-20 16:24) [10]Сори, не сразу понял, что требуется от запроса. А так?
UPDATE baza
SET
baza.kolvo = baza.kolvo + (SELECT Kolvo FROM Privoz WHERE Baza.pin = Privoz.PIN)
WHERE Baza.pin IN (SELECT PIN FROM Privoz)
← →
Vemer (2003-10-20 16:58) [11]To Nikolai
Спасибо, сейчас попробуем.
Напишите пожалуйста, как вывести общие поля 2-х таблиц, а то вот эта конструкция не работает:
Select Pin, Name from Baza inner join Privoz
where Baza.pin = Privoz.pin;
To Dmtr
Shift нашел!
Контейнер создается из базы простым Select по выбору в другую таблицу. У меня проблемы с его запихиванием обратно :).
To All
← →
Zacho (2003-10-21 08:17) [12]2 Verner: почитай наконец Language Reference !
Select Pin, Name from Baza inner join Privoz
ON Baza.pin = Privoz.pin;
Кстати, указывать inner - не обязательно, просто join всегда будет внутренним, а left или right join всегда будет внешним (outer). Т.е. inner join == join, left outer join == left join
← →
Vemer (2003-10-21 12:25) [13]To all.
Всем привет, всем спасибо, весь этот SQL заработал.
Щас буду добавлять очередной тупой вопрос про Locate.
(образование у меня сельскохозяйственное, вот и спотыкаюсь на простых вещах очевидных для других :))
To Zacho
Where iz Language Reference ? (inet, Delphi, Ibase, ...)
-----------------------------------------
ACCESS DENIED, Delphi recomended! (c)Vemer
← →
Zacho (2003-10-21 12:47) [14]
> Vemer © (21.10.03 12:25) [13]
> Where iz Language Reference ?
Language Reference - одна из книг стандартной документации IB. Поставляется в комплекте IB Media Kit, как в виде печатных книг, так и на диске в виде .pdf
Ссылки на бета-версию документации для IB 6.0 и апдейта ее для 6.5 есть на http://www.ibase.ru
P.S. Imho, любому работающему с IB обязательно надо иметь под рукой как минимум Language Reference и Data Definition Guide.
← →
Sergey_Masloff (2003-10-21 21:55) [15]Zacho © (21.10.03 12:47) [14]
>Language Reference - одна из книг стандартной документации IB. >Поставляется в комплекте IB Media Kit, как в виде печатных книг,
Неправда ваша. Как обладатель лицензионной IB7 ответственно заявляю - печатной документации в MediaKit сейчас НЕТ! Было в 5.1 (5.6 кажется не продавался а распространялся владельцам 5.1) в 6 естественно не было - она бесплатная в 7 просто не предусмотрено.
← →
Zacho (2003-10-22 08:53) [16]
> Sergey_Masloff (21.10.03 21:55) [15]
Оба ... А я и не знал.. У меня был медиакит IB 5.0, насколько знаю и в 4.x были книги.. Так что, в печатном виде сейчас документация к IB вообще не распространяется ?
← →
Sergey_Masloff (2003-10-22 15:40) [17]Zacho © (22.10.03 08:53) [16]
>Оба ... А я и не знал.. У меня был медиакит IB 5.0, насколько >знаю и в 4.x были книги.. Так что, в печатном виде сейчас >документация к IB вообще не распространяется ?
Отдельно 50 USD и устанешь ждать пока доставят - очень долго. Мы собственно MediaKit ради книжек бумажных брали - все равно FB у нас. И тут такой облом...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.034 c