Модераторы: LSD
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выборка по 2-м полям, SQL 
:(
    Опции темы
phoenix_ssv
Дата 9.3.2004, 23:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.2.2004

Репутация: нет
Всего: нет



Есть 2 таблицы с одинаковой структурой (table.dbf,tmp_table.dbf).
Необходимо из tmp_table.dbf выбрать только те запись, которых нет в table.dbf.
Запись определяется 2-мя полями(spolicy, npolicy).

как быдет выглядеть SQL запрос??
PM MAIL   Вверх
Kesh
Дата 10.3.2004, 00:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 2
Всего: 54



ИМХО так, хотя не проверял, могут быть ошибки...
Код
SELECT * FROM tmp_table.dbf a WHERE a.* NOT IN (SELECT * FROM table.dbf)



--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
Secandr
Дата 10.3.2004, 08:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Связист
****


Профиль
Группа: Экс. модератор
Сообщений: 4043
Регистрация: 3.8.2003
Где: Russia, Volgograd

Репутация: 2
Всего: 39



phoenix_ssv Нужно приводить название бд, поскольку приведёный выше пример работает далеко не везде.


--------------------
Мышки плакали, кололись, но продолжали жрать кактусы (с) cisco
PM ICQ AOL   Вверх
Kesh
Дата 10.3.2004, 13:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 2
Всего: 54



Secandr Так я вроде не запрос писал, а алгоритм... А там пусть дальше сам думает чего и как... Ну а мы если что - поможем...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
GoodBoy
Дата 10.3.2004, 16:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 1
Всего: 83



2 kesh Дело в том, что MySQL, к примеру, не поддерживает вложенные селекты... И в этом случае Ваш алгоритм неприемлем...


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Kesh
Дата 10.3.2004, 18:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 2
Всего: 54



GoodBoy Дык я про это и писал... См. выше...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
phoenix_ssv
Дата 11.3.2004, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 22.2.2004

Репутация: нет
Всего: нет



Цитата(kesh @ 10.3.2004, 00:59)
ИМХО так, хотя не проверял, могут быть ошибки...
Код
SELECT * FROM tmp_table.dbf a WHERE a.* NOT IN (SELECT * FROM table.dbf)

база dBase IV,
запрос выполняется из delphi
для одного проверки одного поля я использую
SELECT * FROM tmp_table.dbf a WHERE a.SPOLICY NOT IN (SELECT * FROM table.dbf)
а вот как сделать чтобы проверять сразу несколько полей я не знаю
WHERE a.* NOT IN (SELECT * FROM table.dbf) не принимает говорит что нельзя использовать *
PM MAIL   Вверх
GoodBoy
Дата 11.3.2004, 12:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 1
Всего: 83



а если попробовать так:
Код
SELECT a.* FROM tmp_table.dbf a, table.dbf b WHERE a.spolicy!=b.spolicy AND
                                                   a.npolicy!=b.npolicy


Это сообщение отредактировал(а) GoodBoy - 11.3.2004, 12:02


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Общие вопросы по базам данных"
LSD
Zloxa

Данный форум предназначен для обсуждения вопросов о базах данных не попадающих под тематику других форумов:

  • вопросам по СУБД для которых нет отдельных подфорумов
  • вопросам которые затрагивают несколько разных СУБД (например проблема выбора)
  • инструменты для работы с СУБД
  • вопросы проектирования БД
  • теоретически вопросы о СУБД

Данный форум не предназначен для:

  • вопросов о поиске разлиных БД (если не понимаете чем БД отличается от СУБД то: а) вам не сюда; б) Google в помощь)
  • обсуждения проблем с доступом к СУБД из различных ЯП (для этого есть соответсвующие форумы по каждому ЯП)
  • обсуждения проблем с написание SQL запросов, для этого есть форум Составление SQL-запросов
  • просьб о написании курсовой, реферата и т.п., для этого есть Центр помощи или фриланс биржа
  • объявлений о найме специалистов, для этого есть раздел Объявления о найме специалистов

Если вы не соблюдаете эти правила, не удивляйтесь потом не найдя свою тему/сообщение. ;)


Полезные советы:

При написании сообщения постарайтесь дать теме максимально понятное название. В теме максимально подробно опишите проблему. Если применимо укажите: название базы данных и версии (MySQL 4.1, MS SQL Server 2000 и т.п.); используемых язык программирования; способа доступа (ADO, BDE и т.д.); сообщения об ошибках.

Для вставки кода используйте теги [code=sql] [/code].

Литературу по базам данных можно поискать здесь.

Действия модераторов можно обсудить здесь.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, LSD, Zloxa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | СУБД, общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0623 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.