mysql选择多个字段标题值为列的行
表格示例 表:分类法mysql选择多个字段标题值为列的行,mysql,sql,database-design,pivot-table,Mysql,Sql,Database Design,Pivot Table,表格示例 表:分类法 +--+----+ |ID|name| +--+----+ |1 |demo| +--+----+ 表:设置 +--+-----+-----+-----+ |ID|taxId|title|value| +--+-----+-----+-----+ |1 |1 |phone|1234 | +--+-----+-----+-----+ |2 |1 |addr |5678 | +--+-----+-----+-----+ 我想要像这样的输出 我试过了 SELECT
+--+----+
|ID|name|
+--+----+
|1 |demo|
+--+----+
表:设置
+--+-----+-----+-----+
|ID|taxId|title|value|
+--+-----+-----+-----+
|1 |1 |phone|1234 |
+--+-----+-----+-----+
|2 |1 |addr |5678 |
+--+-----+-----+-----+
我想要像这样的输出
我试过了
SELECT
t.id
,t.name
,s.value AS s.title
FROM
taxonomy t,
settings s
WHERE
s.taxId = t.id
但它肯定给了我错误。另外,我想循环所有设置行,将s.value设置为s.title:
所以,是否可以聚合设置表中的所有行,并将行转换为使用标题字段作为列标题,其值=值字段?
这是一个好方法吗?
有没有设计我的桌子?
我使用这种结构的原因是/我不知道我需要多少设置,所以我不想把自己限制在一个单一的平面表结构中。这被称为pivot-在MySQL中这不是很容易;你可以查一下。你可能会发现有用的
SELECT
t.id
,t.name
,s.value AS s.title
FROM
taxonomy t,
settings s
WHERE
s.taxId = t.id