Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MySQL > Связывание полей 2х таблиц


Автор: biophreak 28.6.2007, 12:43
Народ....вопросик небольшой - Как связать поле одной таблицы, с полем другой? 
Есть 2 таблицы - clients и addr - в первой есть поле addr_id , во второй поле id...вот их и надо связать...подскажите как?

ЗЫЖ Извините за глупый вопрос...я в SQL начиниющий...
ЗЗЫЖ Типы полей - целочисленные!

Автор: Glip 28.6.2007, 15:24
искать про FOREIGN KEY

Автор: igorold 29.6.2007, 05:09
а что значит связать?

Автор: Gold Dragon 29.6.2007, 09:24
ну так и делай..

в первой таблице, например
- ID
- NAME
- DATA
- .....

во второй, например
- ID
- ID_CLIENT
- Q1
- Q2
-...

а запрос что-то типа такого
Код

SELECT table1.id, 
table1.name,
table1.data,
table2.Q1,
table2.Q2
FROM table1 JOIN table2 ON table1.id = table2.id_client

а вообще, всё зависит от того что ты хочешь

Автор: Alix36 29.6.2007, 15:59
а зачем это надо. 
2 таблицы в mysql нужны(если информация в них както связана) только если  к одной записи в 1 аблице приходится несколько записей во 2 таблице.(Мое мнение я могу быть неправ).
Остальное можно делать все в одну таблицу. 
.
У меня почемуто твой вопрос ассоциируется с акссом. В котором нужно было связывать ключивые поля таблиц для корректной работы запросов.
На мой взгляд Mysql тут лучше(бОльшая широта действий).Все зависит от конкретной ситуации. К примеру если ты работаеш в РНР то  можно выбрать запись по индификатору из 1 таблицы, а потом по аналогии с перебором массива перебрать все записи 2 таблицы в который определенный индификатор удовлетворяет ID из 1 запроса. 

Автор: KRIP 29.6.2007, 16:28
Цитата

а зачем это надо. 
2 таблицы в mysql нужны(если информация в них както связана) только если  к одной записи в 1 аблице приходится несколько записей во 2 таблице.(Мое мнение я могу быть неправ).
Остальное можно делать все в одну таблицу. 



Почитай про нормализацию

Автор: _Y_ 1.7.2007, 22:49
Цитата(Alix36 @ 29.6.2007,  15:59)
к одной записи в 1 аблице приходится несколько записей во 2 таблице

Во второй таблице делается поле со ссылкой на первую таблицу например ID_table1, т.е. для каждой записи второй таблицы там будет записано соответствие одной записи первой таблицы. Естественно, значение в этом поле не уникально, т.к. одной записи первой таблицы могут соответствовать несколько во второй. Выборку можно будет делать по условию WHERE Table1.ID = Table2.ID_table1  или то же самое самое условие задавать не в WHERE, а с помощью JOIN, что грамотнее

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)