Прошу помощи в 2-х запросах | |
---|---|
Andrey74 Автор Сообщений: 33 Дата регистрации: 10.02.2005 |
Доброе время суток!
Столкнулся с проблемой - не знаю как написать запросы для двух случаев. Прошу Вашей помощи. Случай 1. Две таблицы, в обоих таблицах есть поле с одинаковыми данными, имя поля - iid, в первой таблице по полю iid построен первичный индекс, во второй таблице - записи с одинаковым iid могут повторяться неограниченное кол-во раз. Из первой таблицы мне необходимо выбрать только те iid, для которых нет записей с ключом iid во второй таблице. Случай 2. Например, есть таблица с такими записями: Номер документа Дата документа 5 19.02.2005 4 15.02.2005 3 18.02.2005 2 14.02.2005 1 10.02.2005 основное правило для значения в поле "Номер документа" - номер документа с датой более свежей, чем у предущего документа, не может иметь более высокий номер. В данном примере запись с номером документа 4 - неверная, т.к. дата у нее меньше, чем у документа, с номером 3 и более свежей датой. Мне нужно написать запрос (или несколько запросов) для того, чтобы получить такие "неверные" записи. |
Re: Прошу помощи в 2-х запросах | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
1. SELECT * from Table1 WHERE iid NOT in(select iid FROM Table2)
------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Прошу помощи в 2-х запросах | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
2. SELECT a.* from Table1 a WHERE exists (select * from Table1 b WHERE b.Number<a.number AND b.Date>a.Date)
Отредактировано (14.03.05 11:14) ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Прошу помощи в 2-х запросах | |
---|---|
Andrey74 Автор Сообщений: 33 Дата регистрации: 10.02.2005 |
AleksM
Большое спасибо, оба запросы работают! Если у Вас есть минутка, объясните пожалуйста, для чего используются во втором запросе псевдонимы (не могу подобрать более точного слова, первый раз вижу такое) "a" и "b"? Еще один вопрос: насколько я понимаю, использование SELECT позволяют только выбирать информацию из таблиц. А можно ли в VFP запросом изменить все значения одного поля (или его часть, фрагмент) на другое значение? |
Re: Прошу помощи в 2-х запросах | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
Цитата:Это чтобы в WHERE не писать Table1 и Table2, ну чтобы на клавиши меньше жать. Цитата:См. UPDATE - SQL ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Прошу помощи в 2-х запросах | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Hi, Andrey74!
Цитата:Это и есть весьма точное слово - в хелпе это называется Alias, что ближе всего переводится как "псевдоним". А используется В ДАННОМ случае потому, что таблица Table1 используется 2 раза - обе эти "якобы копии" нужно отличать друг от друга. В принципе по сути эти псевдонимы похожи на USE ... AGAIN ALIAS ... - т.е. чтоб открыть 2 раза и работать "независимо". Хотя собственно с USE они не пересекаются - т.е. только внутри SELECT действуют. ------------------ WBR, Igor |
Re: Прошу помощи в 2-х запросах | |
---|---|
Andrey74 Автор Сообщений: 33 Дата регистрации: 10.02.2005 |
AleksM, Igor
А как научиться писать запросы, подобные тем, которые привел AleksM. В справке по SELECT SQL все примеры простые. Подскажите, где можно увидеть примеры таких "красивых" и функциональных запросов. |
Re: Прошу помощи в 2-х запросах | |
---|---|
Перминов Игорь Сообщений: 1591 Откуда: Красная Орловка Дата регистрации: 16.09.2001 |
Одна из известнейших книг:
Введение в SQL. Автор: Мартин Грабер У меня издание 1996 г. Но может и перездавалось. ------------------ Без коментариев.. |
Re: Прошу помощи в 2-х запросах | |
---|---|
AleksM Сообщений: 17881 Дата регистрации: 11.11.2003 |
1. Книжки (одну из них привел Игорь Перминов)
2. Help, примеры конструкций использованных в твоих запросах там есть 3. Форум Foxclubа, сначала в Поиске пошукать, у а если не выходит каменный цветок, то у товарищей спросить. ------------------ Лучше переесть, чем недоспать. Не спеши, а то успеешь. |
Re: Прошу помощи в 2-х запросах | |
---|---|
Combat Сообщений: 816 Откуда: Клайпеда Дата регистрации: 26.10.2000 |
|
© 2000-2024 Fox Club  |