powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать выборку
10 сообщений из 10, страница 1 из 1
Как сделать выборку
    #33765626
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Есть таблица с полями Name1 и Name2. Из этой таблицы мне необходимо сделать выборку только тех записей, у которых значения полей Name1+Name2 совпадают.
Спасибо!
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765667
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
С чем совпадают значениия полей Name1+Name2 ?
С уважением, Алексей
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765691
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Например, таблица:
Иванов Иван
Петров Петр
Иванов Иван
Васильев Василий
Васильев Василий

Значит должны быть отобраны все записи где есть Иванов Иван, Васильев Василий
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765693
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from MyTableName where Name1=Name2
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765701
Vladimir410
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
наверное совпадают друг с другом, тогда
Код: plaintext
1.
SELECT * FROM таблица WHERE Name1==Name2
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765719
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karpiНапример, таблица:
Иванов Иван
Петров Петр
Иванов Иван
Васильев Василий
Васильев Василий

Значит должны быть отобраны все записи где есть Иванов Иван, Васильев Василий


Читай , думай, делай вывода
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765723
karpi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть я неправильно задал вопрос.
Иванов Иван
Петров Петр
Иванов Иван
Васильев Василий
Васильев Василий
Васильев Василий
Васильев Василий

1 и 3 запись совпадают, 4,5,6,7 совпадают, значит они-то и попадут выборку. Т.е. выборка будет без Петров Петр
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765772
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для такой операции необходимо иметь PK (первичный ключ) на таблицу (ID), что бы, хотя бы, отличить одну запись с одинаковыми Name1 и Name2 от другой
Код: plaintext
1.
2.
SELECT a.Name1, a.Name2, a.ID AS ID1, b.ID AS ID2
FROM Table a INNER JOIN Table b ON a.Name1 = b.Name1 AND a.Name2 = b.Name2
AND a.ID > b.ID2

С уважением, Алексей
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765786
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
karpiДобрый день!
Есть таблица с полями Name1 и Name2. Из этой таблицы мне необходимо сделать выборку только тех записей, у которых значения полей Name1+Name2 совпадают.
Спасибо!
Надо выражаться понятнее... Если вы имеете в виду двойные записи (дубликаты), то надо сделать примерно следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
*  1 . Узнаем количество дубликатов
select Name1+name2 as vir, count(*) as cnt ;
from tablename;
group by Name1,Name2
having cnt> 1 ;
into cursor query nofilter

*  2 . Выделяем все записи-"дубликаты"
select * from tablename;
where name1+name2 in (select vir from query) ;
into cursor rezultat nofilter

В запросах возможны ошибки (не проверял), но смысл, я думаю, понятен.
При желании можно два запроса объединить в один...
...
Рейтинг: 0 / 0
Как сделать выборку
    #33765806
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C. karpiДобрый день!
Есть таблица с полями Name1 и Name2. Из этой таблицы мне необходимо сделать выборку только тех записей, у которых значения полей Name1+Name2 совпадают.
Спасибо!
Надо выражаться понятнее... Если вы имеете в виду двойные записи (дубликаты), то надо сделать примерно следующее:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
*  1 . Узнаем количество дубликатов
select Name1+name2 as vir, count(*) as cnt ;
from tablename;
group by Name1,Name2
having cnt> 1 ;
into cursor query nofilter

*  2 . Выделяем все записи-"дубликаты"
select * from tablename;
where name1+name2 in (select vir from query) ;
into cursor rezultat nofilter

В запросах возможны ошибки (не проверял), но смысл, я думаю, понятен.
При желании можно два запроса объединить в один...
Как более хороший вариант:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
*  1 . Узнаем количество дубликатов
select Name1,name2, count(*) as cnt ;
from tablename;
group by Name1,Name2
having cnt> 1 ;
into cursor query nofilter

*  2 . Выделяем все записи-"дубликаты"
select a.* from tablename a,query b;
where a.name1=b.name1 and a.name2=b.name2;
into cursor rezultat nofilter
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Как сделать выборку
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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