我在MySQL数据库中有2个表。一个是遗产表(房东),有一个字段('landlord_id')。
另一个是Joomla! 1.7表名为jos_users,需要确保所有用户都是有效的Joomla!用户可以登录等。它有一个名为'id'的字段。
作为一个例子,我在landlords.landlord_id = 2(John Smith)中有一条现有记录,但是没有相应的jos_user.id记录,因为地主表预先存在于jos_users之前。
有没有办法使用SQL建立/创建两者之间的关系?
或者
我是否需要为房东创建jos_user记录(如果是,如何?)?
非常感谢任何建议或示例。
答案 0 :(得分:2)
您必须将数据从旧系统移植到新系统。我假设你正在使用Joomla的用户登录系统吗?在这种情况下,如果您理解,数据必须采用joomla正在寻找的格式和位置。
如果没有复制数据,您无法真正创建“链接”。
我建议您做的是在房东的桌子上添加一个字段joomla_user_id
。这样,您可以将joomla用户与旧系统中的房东记录相关联。这样您就不必手动移植任何东西,并且您可以构建应用程序以根据其joomla用户ID获取房东数据。
答案 1 :(得分:1)
你实际上可以加入他们
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
。
样品:
landlord_id | id 1 | 1 2 | 2 3 | NULL