powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / лексика построения
6 сообщений из 6, страница 1 из 1
лексика построения
    #32026160
Airat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
мне нужно вот такое вырожение но только пастроеный SQL

вот:

если таблица1.поле1=таблица2.поле1 и таблица1.поле2=таблица2.поле2 то из таблица1.поле3 добавить в таблица2.поле3
иначе поля с все поля несовподающими данными добавить таблица3

плз помогите правельно на SQL выражение саставить
...
Рейтинг: 0 / 0
лексика построения
    #32026217
Lesnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не совсем корректно поставлена задача, а именно не указанно связаны ли Таблица1 и Таблица2(по полям 1,2).
Что касается первой части (если поля равны) то примерно так:
UPDATE Таблица1, Таблица2 SET Таблица2.Поле3 = [Таблица1].[Поле3]
WHERE (((Таблица1.Поле1)=[Таблица2].[Поле1]) AND ((Таблица1.Плое2)=[Таблица2].[Поле2]));

Что касается сторой части, то если таблицы не связаны получится каша(или я не совсем понял задачу).
...
Рейтинг: 0 / 0
лексика построения
    #32026277
Airat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
таблицы связоны, насчет 2-й части нужно чтобы несовподающеи данные выгружались в другую таблицу3 чтобы видеть что не совпало!
...
Рейтинг: 0 / 0
лексика построения
    #32026302
Airat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
насчет 2-й части нужно чтобы несовподающеи данные выгружались в другую таблицу3 или удалялись в таблице1 те данные каторые совпали и еще стала токая продлема певое сровнение мне нужно проводить по первым 3-м символам спросиш зачем
например есть фомилия 'Гарипов'в таблице1 и 'Гарипова' в таблице2 сравнивать нужно только три первых буквы 'Гар' в таблиц1 и 'Гар' в таблице2
...
Рейтинг: 0 / 0
лексика построения
    #32026327
Lesnick
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
По второй части примерно так(если конечно не ошибаюсь):

Insert into Таблица3 (Поле1, Поле2, Поле3) SELECT Таблица1.Поле1, Таблица1.Поле2, Таблица1.Поле3
FROM Таблица1 Where Not Exists (Select Таблица2.Поле1, Таблица2.Поле2 From Таблица2 Where Таблица1.Поле1=Таблица2.Поле1 And ((Left$([Таблица1].[Поле2],3))=Left$([Таблица2].[Поле2],3)));

вставляет записи в таблицу3 из таблицы1 для которых нет соответствия в таблице2, при связи по полям 1 и 2(т.е. части поля2). Чтобы вставить такие же данные из таблицы2 просто поменяйте местами таблицы 1 и 2. Для удаления записей используте Delete с условиями которые писались раньше, только акуратно и внимательно.

По поводу сравнения по первым 3 символам см сдесь же функция Left("строковое выражение",n), где n-кол-во символов.

(У меня в базе при экспериментах поле1 было числовым, а поле2 строковым.)

ЗЫ
А воще читайте Help access там довольно много написано(по крайней мере в access97).
...
Рейтинг: 0 / 0
лексика построения
    #32026356
Airat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
спасибо большое попробаю
help в access-e читаю часто но не всегда могу найти то что мне нужно я отсилы 2 месеца с access-м
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / лексика построения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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