Соединение двух таблиц SQL без связи? - PullRequest
2 голосов
/ 12 февраля 2012

У меня есть 2 таблицы в базе данных MySQL.Одна из них - это устаревшая таблица (домовладельцы), в которой есть поле ('landlord_id').

Другая - Joomla!Таблица 1.7 называется jos_users, которая необходима для того, чтобы все пользователи были действительными Joomla!пользователи и могут войти и т. д. У него есть поле с именем 'id'.

В качестве примера у меня есть существующая запись в landlords.landlord_id = 2 (Джон Смит), однако соответствующей записи jos_user.id нетпотому что таблица домовладельцев существовала до jos_users.

Есть ли способ установить / создать отношения между ними с помощью SQL?

или

Нужно ли создаватьЗаписи jos_user для арендодателей (и если да, то как?)?

Любые предложения или примеры приветствуются.

Ответы [ 2 ]

2 голосов
/ 12 февраля 2012

Вам придется перенести данные из старой системы в новую. Я предполагаю, что вы используете систему входа пользователя Joomla, верно? В этом случае данные должны быть в том формате и месте, в котором joomla их ищет, если вы понимаете.

Вы не можете создать «ссылку» без репликации данных.

Что вы МОЖЕТЕ сделать, что я предлагаю, это добавить поле на стол арендодателя, которое равно joomla_user_id. Таким образом, вы можете связать пользователя joomla с записью арендодателя из вашей старой системы. Таким образом, вам не нужно вручную что-либо переносить, и вы можете создать приложение, чтобы получать данные о владельце на основе их идентификатора пользователя joomla.

1 голос
/ 12 февраля 2012

Вы можете присоединиться к ним

SELECT
  lls.landlord_id,
  jus.id
FROM landlords lls
LEFT JOIN jos_users jus ON lls.landlord_id=jus.id

, который вернет вам ВСЕХ Арендодателей и присоединит к соответствующим пользователям Joomla.Если для данного Арендодателя нет Пользователя Joomla, jus.id будет NULL.Несоответствующие записи NULL и не удаляются из набора результатов из-за LEFT JOIN.Проще говоря, LEFT JOIN сохраняет все строки в левой таблице и вставляет NULL s, если совпадение не удается.

Пример:

landlord_id  |  id
          1  |    1
          2  |    2
          3  | NULL
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...