【发布时间】:2013-03-20 18:58:17
【问题描述】:
我有一个问题,我的 SQL 太基础了,无法克服它。
我有两张桌子:
表 1
- id (int) - (主键)
- 电子邮件(字符)
- 其他字段...
表2
- id (int) - (这不是主键也不是唯一的。这是与
TABLE1.id相关的外键) - 键(字符)
- 值(字符)
- 其他字段...
第二个表的结构是“key-value”。
对于每个TABLE1.id,我在TABLE2 和TABLE1.id == TABLE2.id 中有“许多”行。特别是我可以有以下情况:
TABLE1 中的一行
id = 10, email = "albert.einstein@genius.com", (other fields omitted)...
TABLE2 中的对应行
id = 10, key = "first_name", value = "Albert", (other fields omitted)...
id = 10, key = "last_name", value = "Einstein", (other fields omitted)...
我想编写一个 SQL 查询,它能够返回具有以下结构的表 TABLE3:
表3
- id (int)
- 名字(字符)
- 姓氏(字符)
- 电子邮件(字符)
TABLE3 应为TABLE1 中呈现的每一行包含一行,并应按last_name 和first_name 排序
按照这个例子,我应该得到一个行类似于这个的表:
id = 10, first_name = "Albert", last_name = "Einstein", email = "albert.einstein@genius.com"
我快疯了!!!
【问题讨论】:
标签: mysql sql pivot entity-attribute-value