powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом
3 сообщений из 3, страница 1 из 1
Помогите пожалуйста с запросом
    #33832815
AnswerGuest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ребята помогите пожалуйста составить запрос, сам я не программист, но вот возникла такая необходимость, кое-что я почитал, попробовал сделать но по мойму вылазеет чушь, объясню вкратце, что надо
Есть две одинаковые таблицы с одинаковыми полями(id,name,kod,namepodr), так вот нужно их объединить таким образом, чтобы я мог видеть поля name, kod, namepodr из обеих таблиц но с одинаковыми id. Сам я пишу такой запрос
Код: plaintext
1.
2.
3.
 SELECT *;
 FROM  data1!table1 FULL JOIN data1!table2 ;
   ON  table1.id = table2.id

На выходе этот запрос выдает две с лишним тысячи записей, хотя в обеих таблицах по триста, верно ли я делаю?
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом
    #33832894
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если вы хотите найти записи, которые есть И в table1 И в table2, то
попробуйте так:

Код: plaintext
1.
2.
SELECT *;
 FROM  data1!table1 INNER JOIN data1!table2 ;
   ON  table1.id = table2.id

С уважением, Алексей
...
Рейтинг: 0 / 0
Помогите пожалуйста с запросом
    #33837060
Igor Korolyov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hi AnswerGuest!

> На выходе этот запрос выдает две с лишним тысячи записей, хотя в обеих
> таблицах по триста, верно ли я делаю?

Верно - то что так много записей говорит о том, что id в этих таблицах
совсем не уникален... А значит ты получаешь по сути декартово произведение -
т.е. ВСЕ записи с id = 1 из первой таблицы соединяются со ВСЕМИ записями с
id = 1 из второй - это порождает N*M записей - где N и M это соответственно
число записей с id = 1 в первой и во второй таблицах. И так для всех
остальных значений id.

Видимо для начала тебе стоит как-то разобраться с "дублями" (по полю id) в
каждой из таблиц - ну или "соединять" не только по id но и по всем остальным
полям - тогда ты просто увидишь по 2 строки для "различающихся" записей -
при этом в одной записи будет null в первых 4 полях, а во второй записи - во
вторых 4-х полях... Для улучшения сортировки стоит явно перечислять все поля
в запросе, а вместо пары id записать выражение NVL(table1.id, table2.id) - и
его-же указать в ORDER (по порядковому номеру этого вычисляемого поля).

Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Помогите пожалуйста с запросом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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