Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Объединение таблиц Paradox с помощью SQL 
:(
    Опции темы
Mikel
Дата 17.4.2007, 20:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



Есть две таблицы с одинаковой структурой- (Index, Name, Phone)
Как присоединить к первой таблице записи из второй в которых Name ниразу не встречалось в первой(посредством SQL запроса)?
То есть происходит дополнение новыми данными из второй таблицы, а старые остаются как были.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
ТоляМБА
Дата 18.4.2007, 05:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

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



Цитата(Mikel @  17.4.2007,  20:10 Найти цитируемый пост)
записи из второй в которых Name ниразу не встречалось в первой(посредством SQL запроса)?


Код
Select *
from table2
where table2.name not in
(Select distinct name
from table1
where table1.name is not null)


Цитата(Mikel @  17.4.2007,  20:10 Найти цитируемый пост)
Как присоединить к первой таблице записи из второй в которых Name ниразу не встречалось в первой(посредством SQL запроса)?


Код
INSERT INTO Table1(Index, Name, Phone)
SELECT Index, Name, Phone
from table2
where table2.name not in
(Select distinct name
from table1
where table1.name is not null)


Разбил на два ответа, потому, что не знаю, поддержит ли парадокс полный вариант решения
PM   Вверх
Mikel
Дата 18.4.2007, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



Большое спасибо! Запрос работает, к таблице присоединяется, а можно ли параллельно чтобы в еще одну таблицу записывались индексы вставленных записей? или еще один запрос надо делать?
А если надо чтобы ниразу не встречалось не просто Name а пара Name, Phone? Тоесть вставлять записи у которых например Name одинаковы а Phone разные.
PS после выполнения запроса почему-то выдает ошибку "Error creating cursor handle", но запрос выполняется.

Это сообщение отредактировал(а) Mikel - 18.4.2007, 18:12


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 18.4.2007, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



Помогите пожалуйста - не могу разобраться откуда эта ошибка. Возникает при импорте базы(все работает, но в результате вылазиет ошибка)

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  ask.rar 7,85 Kb


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
ТоляМБА
Дата 19.4.2007, 05:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Котэ
***


Профиль
Группа: Завсегдатай
Сообщений: 1607
Регистрация: 15.12.2004

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



Цитата(Mikel @  18.4.2007,  17:51 Найти цитируемый пост)
записи у которых например Name одинаковы а Phone разные


на примере таблицы2:

Код
Select t2.Index, t2.Name, t2.Phone
from table2 t2
inner join table2 t2_1
on t2.name=t2_1.name
and t2.Phone>t2_1.phone



PM   Вверх
Mikel
Дата 19.4.2007, 09:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



Спасибо! С запросами уже разобрался, осталась эта непонятная ошибка.


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
Mikel
Дата 20.4.2007, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 882
Регистрация: 30.3.2002
Где: Саратов

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



С ошибкой тоже разобрался. Надо было вызывать TQuery.ExecSQL вместо TQuery.Open


--------------------
...so remember, it's better to burn out than to fade away
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Базы данных и репортинг"
Vit
Петрович

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Обязательно указание:

1. Базы данных (Paradox, Oracle и т.п.)

2. Способа доступа (ADO, BDE и т.д.)


  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • Вопросы по SQL и вопросы по базам данных не связанные с Дельфи задавать здесь

FAQ раздела лежит здесь!


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

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


 




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


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

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