我有一个系统,我有动态的用户信息。基本上,我有一个用户名,用户名,电子邮件和密码(所需的基础知识)。如果系统管理员想要添加一个用户字段,他们可以通过在user_fields表中添加一个新条目来实现,那么该字段的数据将存储在user_fields_data中。MySQL联盟/加入行与列
用户:
id | name | email | password
=============================================
1 | bob smith | [email protected] | asdfasdfasdf
...
user_fields:
id | field
==========
1 | address_1
2 | address_2
...
user_fields_data:
user_id | field_id | value
===============================
1 | 1 | 123 abc st
1 | 2 | suite 314
基本上我的目标是要执行一个查询在那里我可以得到所有的信息。
array(
'name' => 'bob',
'email' => '[email protected]',
'password' => 'asdfasdfasdf',
'address_1' => '123 abc st',
'address_2' => 'suite 314'
)
我整天都在一起连接表,但是我从来没有必要以这种方式连接(行/列)。
在此先感谢!
目前?没有^^。我知道如何使用两个独立的SQL语句来执行此操作,但是甚至不知道如何从这种类型的连接开始。 –
这是一个普通的旧连接...只需写入sql。问题是你会得到很多行 - 这将需要在表示层展开。为这种可怜的模式设计嘘声。 – Randy
@Randy正确,我不打算在每一行中获取用户中的所有数据。你将如何去改变架构? –