|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.03.2008, 12:06 | #1 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
Сложные SQL запросы или хранимые процедуры!
Господа гуру... подскажите плиз как мне зделать запросик со следующими условиями!
У меня есть таблица (Paradox), состоящий из следующих столбцов: 1. Дата входа 2. Дата выхода 3. Сумма входа 4. Сумма выхода 5. Имя операции Если поле Имя_операции принимает значение "РЕПО" или "ЛОНГ" тогда мне нужно чтобы поле "Дата входа" приняла значение поля "Дата выхода", а поле "Сумма покупки " приняла значение "Сумма продажи". все остальные поля должны принимать свои значения... т.е. Опер дата_входа Дата_выхода Сумма_покупки Сумма_продажи РЕПО 12.03.08 22.08.08 1500 2500 Елси поле ОПЕР = ЛОНГ или РЕПО тогда Дата_входа = 22.08.08, и Сумма_покупки = 2500 Помогите плиззз кто может очень надо!!! Заранее балгодарен!
Свободу клавиатурным самураям...
|
17.03.2008, 12:16 | #2 |
Форумчанин
Регистрация: 24.10.2007
Сообщений: 254
|
update tab1
set Дата_входа = Дата_выхода , Сумма_покупки = Сумма_продажи where ОПЕР in ("ЛОНГ","РЕПО") |
17.03.2008, 13:23 | #3 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
Больше спасибо то что надо, за исключением одного НО... это моя недописка... дело в том что если ОПЕР не равна ЛОНГ или РЕПО, тогда Сумма_покупки должна принять свое изначальное значение, т.е.
Елси Сумма_покупки = 1500 и Сумма_продажи=2500 и ОПЕР = ЛОНГ или РЕПО тогда Сумма_покупки = Сумма_продажи, А вот если ОПЕР <> ЛОНГ или РЕПО тогда Сумма_покупки должна принять свое значение записанное изначально... Вот такая вот задачка, больше спасибо заранее...
Свободу клавиатурным самураям...
|
21.03.2008, 10:24 | #4 |
Форумчанин
Регистрация: 24.10.2007
Сообщений: 254
|
Так ведь щас так и есть. Апдейтем только то что надо, а остольное не трогаем .
|
21.03.2008, 13:09 | #5 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
Пасибо большое за идею очень помогло, на самом деле просто не хватала энтузиазма не знал как осущесвить идею в реальности после совета я поступил следующим образом:
Код:
Свободу клавиатурным самураям...
|
21.03.2008, 13:12 | #6 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
Все отлично заработало, но задача усложнилась немного и я опять не могу понять как это зделать, дело в том что у меня два поля Sum_pok(Сумма покупки) и Sum_prod(сумма продажи) проверяются на цвет, т.е. если они выделены серым цветом тогда одно если нет тогда другое условие... А вот теперь мне надо зделать так чтобы если только одно из них серым, т.е. либо Сумма_покупки, либо Сумма продажи выделены серым тогда в запросе не выводить сумму а вывести просто 0...
Domovoy если возможно помоги плзиззз, заранее благодарен!!!
Свободу клавиатурным самураям...
|
21.03.2008, 14:30 | #7 |
Баламучу слегка...
Участник клуба
Регистрация: 01.11.2006
Сообщений: 1,585
|
Поле выделено цветом?!! Блин, хочу знать как это сделать... Падаю ниц и молю - СКАЖИ КАК!!!
P.S. И за "зделать" буду убивать. В байки типа "учил русске па форумам" не верю! |
21.03.2008, 14:40 | #8 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
В принципе там ничего сложно с цветами нету, я в самой базе создал еще символьное поле, которое по умолчанию имеет значение:
Пусть у нас в базе будет 4 поля, т.е. 3 информационных и 4-е поле цвета то 4-е поле должно по умолчанию иметь следующее значение: color:='clWhite;clWhite;clWhite'; далее мы просто при выборе цвета анализируем ячейку на которой сфокусированы и в поле s изменяем значение на color:='clWhite;clYellow;clWhite'; (к примеру), а затем в событии DBGRid OnDrawDataCell считываем значение поля цвета и присваем все ячейкам тот цвет поторый должен ему пренадлежать... Если нужен пример кода могу скинуть... просто я использовал dxDBGrid
Свободу клавиатурным самураям...
|
22.03.2008, 06:14 | #9 |
Форумчанин
Регистрация: 04.03.2007
Сообщений: 615
|
Killer_djon
как я понял, тебе нужно кадлую ячейку окрашивай в свой цвет? если так, то тебе как минимум надо будет столько же полей, со значениями цветов, сколько у тебя окрашивается (в каждой ячейки свой тип для своего столбца) а в остальном ты ворде всё правильно написал... только один совет: хранить не значения в численном виде, а маркировку самих цветов для каждой ячейки... |
22.03.2008, 10:58 | #10 |
Форумчанин
Регистрация: 26.04.2007
Сообщений: 143
|
dron's - пасибо конечно за совет, но дело в том что у меня это уже работает и не совсем так как ты сказал, я зделал гораздо легче, я всего лишь создал новое поле строкового типа такое чтобы в нем поместилось значение цвета по умолчанию для каждого поля в отдельности, т.е. повторюсь еще раз: пусть у нас 5 полей из которых 1 - это поле содержащее значение цвета для всех оставшихся 4... а следовательно
назовем поле цвета - color:='clWhite;clWhite;clWhite;clW hite;'; А теперь по порядку. Когда я хочу ячейке придать какойнить цвет я просто делаю следующее: Код:
Свободу клавиатурным самураям...
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Хранимые процедуры... | Только_Учусь | БД в Delphi | 2 | 17.07.2008 06:06 |
Блоб поля и хранимые процедуры | yulia | БД в Delphi | 8 | 07.06.2008 16:42 |
задача на сложные действия со строками | Converse | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 03.01.2008 07:34 |