我有一个问题,我的 SQL 太基础了,无法克服它。
我有两张桌子:
表格1
- id (int) - (主键)
- 电子邮件(字符)
- 其他领域...
表2
- id (int) - (这不是主键也不是唯一的。这是相对于 的外键
TABLE1.id
) - 键(字符)
- 值(字符)
- 其他领域...
第二个表具有“键值”结构。
对于每一个我都有“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)...
我想编写一个能够返回TABLE3
具有以下结构的表的 SQL 查询:
表3
- 标识(整数)
- 名字(字符)
- 姓氏(字符)
- 电子邮件(字符)
TABLE3
应该包含每一行出现的行,并且TABLE1
应该由last_name
和排序first_name
按照该示例,我应该获得一个包含与此类似的行的表:
id = 10, first_name = "Albert", last_name = "Einstein", email = "albert.einstein@genius.com"
我要疯了!!!