![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Фильтр
Андрей Ал. © (2008-12-12 16:37:00)Скажите пожалуйста у меня есть таблица
сипуктура
1|Имя|Вася|Рабочий
1|Имя|Федя|Рабочий
1|Имя|Коля|Безработный
1|Имя|Вася|Безработный
1|Имя|Коля|Рабочий
как мне отфильтровать по последней колонке? я делаю так
table1.Filter:='Zap='+table1.Fields.Fields[3].Value;;
но мне выскакивает ошибка
Андрей Ал. (2008-12-13 14:55:00) [1]а что означает t1
sniknik (2008-12-13 14:51:00) [2]да вроде этого, только тут у тебя обновится не одна, а все которые присутствуют в one_base.
с JOIN-м запись более прогрессивная и работает быстрее, например при обновлении многих записей если в условии будет присутствовать поле то подзапрос будет вызываться на каждую строку обновляемой записи "внешней" таблицы.
пример для аксесс
UPDATE Table1 t1
INNER JOIN Table2 t2 ON t1.ID = t2.ID
SET t1.Name = t2.Name
WHERE t1.ID=18
Андрей Ал. (2008-12-13 14:36:00) [3]типа этого ?
WHERE Zap IN (select Zap from one_base)
sniknik (2008-12-13 14:31:00) [4]может и нет, зависит от движка, все более менее современные поддерживают.
еще можно сделать условие с подзапросом. это есть в описании WHERE.
Андрей Ал. (2008-12-13 14:21:00) [5]Удалено модератором
Андрей Ал. (2008-12-13 14:20:00) [6]хммм... такой опереатор работает только при выборе таблицы (select_ом)
с update он также работает?
Андрей Ал. (2008-12-13 14:00:00) [7]ага спасибо!!! просто хотелось узнать реально это вообще или нет
sniknik (2008-12-13 13:59:00) [8]> а для чего тогда вообще форум существует? только для критики?
не только, еще тут помогают, как это ни странно... но многие путают помощь с "сделайте за меня, а я вам скажу спасибо", или что то вроде, тогда остается только критика.
sniknik (2008-12-13 13:54:00) [9]смотри теперь справку по JOIN
Андрей Ал. (2008-12-13 12:43:00) [10]Возник вопрос в другом...
как мне обратить к другой таблице посоле WHERE
Query2.SQL.Add('UPDATE teo_base SET Cena = Kol+2 WHERE Другая таблицаOred_Sub = "18"');
Андрей Ал. (2008-12-13 12:37:00) [11]извеняюсь всё заработало!
Андрей Ал. (2008-12-13 12:26:00) [12]Query2.SQL.Clear;
Query2.SQL.Add('UPDATE teo_base SET Cena = Kol+2 WHERE Ored_Sub = "18"');
Query2.ExecSQL;
понимаю что так но миссматч ошибка
Anatoly Podgoretsky (2008-12-13 12:03:00) [13]> Андрей Ал. (13.12.2008 11:21:21) [21]
Какая у тебя плохая справка, и Интернет наверно тоже узкий.
Андрей Ал. (2008-12-13 11:53:00) [14]а для чего тогда вообще форум существует? только для критики?
sniknik (2008-12-13 11:39:00) [15]> по Update справка есть и очень хорошая...
не назвал бы хорошей справку где часть описания команды отсутствует...
> но я не нашёл как по определённой колонке добавить данные
раз нашёл Update значит нашёл и то что спрашиваешь, только не понимаешь... читай еще раз, или 2 или может быть 10 раз пока не "осенит".
Андрей Ал. (2008-12-13 11:21:00) [16]по Update справка есть и очень хорошая... но я не нашёл как по определённой колонке добавить данные
sniknik (2008-12-13 11:18:00) [17]> но ничего подобного не нашёл
т.е. так понимаю в справке у тебя описания команды Update нету?
...
выкидывай справку, такая ничего не стоит... хотя, может не в той искал? не там, не так... ну тогда бросай программирование, это такая профессия где без умения работать со справкой никуда...
Андрей Ал. (2008-12-13 11:13:00) [18]искал... но ничего подобного не нашёл
sniknik (2008-12-13 11:11:00) [19]> хотелось бы узнать как это осуществить через квэри
и кто не дает? узнай.
не жди ответа на такой вопрос здесь, кто нибудь его конечно может и даст... но в общем на такие здесь отвечать не принято, т.к. это справочный вопрос, а смотреть за тебя в справку/хелп и переписывать ее сюда никто не будет.
где смотреть тебе сказали сказали. -> [10]
Андрей Ал. (2008-12-13 10:10:00) [20]Выход есть... работать через табле... но это очень долго и не удобно хотелось бы узнать как это осуществить через квэри