Лидеры рейтинга

ID: 401284

Михаил Александров

Советник

380

Россия, Санкт-Петербург


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

341

Россия, пос. Теплоозёрск, ЕАО


ID: 401888

puporev

Профессор

216

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

114


ID: 400669

epimkin

Профессионал

112


ID: 242862

Hunter7007

Мастер-Эксперт

30

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

26

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-23 16:46:01-standard


Установка и настройка серверов баз данных, таблицы и запросы.

Администратор раздела: Коцюрбенко Алексей Владимирович (Старший модератор)

Консультация онлайн # 108693

Раздел: Базы данных
Автор вопроса: Mamay
Дата: 09.11.2007, 13:32 Консультация закрыта
Поступило ответов: 7

select * from Adres, FIO

Adrec - таблица из счётчика и 1 поля Адрес, FIO - та же структура, но с полем FIO.
При приведённом выше запросе выдаёт в DBGrid такого плана таблицу:

Код ФИО Адрес
1 Фам1 Ад1
1 Фам2 Ад1
1 Фам3 Ад1
2 Фам2 Ад2
2 Фам3 Ад2
2 Фам1 Ад2
3 Фам3 Ад3
3 Фам1 Ад3
3 Фам2 Ад3

А по идее должно было быть так:

Код ФИО Адрес
1 Фам1 Ад1
2 Фам2 Ад2
3 Фам3 Ад3

Ответ # 192895 от Некто
Здравствуйте, Mamay!

select * from Adres t1, FIO t2 WHERE t1.имя_поля_счетчика = t2.имя_поля_счетчика

Некто

Посетитель
09.11.2007, 13:36
Ответ # 192898 от Архангельский Андрей Германови
Здравствуйте, Mamay!

Select * from Adres a, FIO f
where a.ID=f.ID

Архангельский Андрей Германови

Посетитель
09.11.2007, 13:49
Ответ # 192901 от Зиновьев Дмитрий Владимирович
Здравствуйте, Mamay!
Ну а где условие связки таблиц?
select * from Adres a, FIO f WHERE f.Адрес=a.Адрес

Зиновьев Дмитрий Владимирович

Посетитель
09.11.2007, 14:31
Ответ # 192903 от Евгений Неверов
Здравствуйте,

SELECT * FROM Adres, FIO WHERE Adres.id = FIO.id

(id — имя поля со счётчиком)

Евгений Неверов

Посетитель
09.11.2007, 14:35
Ответ # 192938 от Dubrovin
Здравствуйте, Mamay!
правильно что выдаётся, там просто одно на другое множится )))
это как пароли подбирать, все варианты ))))

чем у тебя связаны эти две таблица ???

Dubrovin

Посетитель
09.11.2007, 17:58
Ответ # 193031 от Челноков Виктор Альбертович
Здравствуйте, Mamay!
При соединении таблиц надо обязательно указывать поля в обоих таблицах по которым происходит связывание. Если не указать то происходит связывание всех строк таблиц в различных вариантах так называемое "декартово соединение" как у Вас.
Попробуйте следующее:
select a.код , f.фио , a.адрес from Adres a inner join FIO f on a.код = f. код
Успехов.

Челноков Виктор Альбертович

Посетитель
10.11.2007, 09:39
Ответ # 193316 от Nomadfromx2007
Здравствуйте, Mamay!
У вас делается выборка из двух таблиц, но нет условия, которое связывает их. Поэтому просто выбираются все записи из всех таблиц.
Судя по всему код привязки - поле "Код", поэтому могу предположить, что запрос должен быть такой:

Приложение:


Nomadfromx2007

Посетитель
12.11.2007, 02:06
Мини-форум консультации # 108693
Нет сообщений в мини-форуме
Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

Коцюрбенко Алексей Владимирович

Старший модератор

Рейтинг: 70

solowey

Академик

Рейтинг: 4

Alexander Babich

Профессор

Рейтинг: 2

SAW

Студент

Рейтинг: 0

LfiN

Специалист

Рейтинг: 0

PsySex

Профессионал

Рейтинг: 0