mysql选择多行,字段标题值为列

时间:2014-01-16 13:18:48

标签: mysql sql database-design pivot-table

表格示例

TABLE :分类

+--+----+
|ID|name|
+--+----+
|1 |demo|
+--+----+

TABLE :设置

+--+-----+-----+-----+
|ID|taxId|title|value|
+--+-----+-----+-----+
|1 |1    |phone|1234 |
+--+-----+-----+-----+
|2 |1    |addr |5678 |
+--+-----+-----+-----+

我希望输出,如

+--+----+-----+----+
|ID|name|phone|addr|
+--+----+-----+----+
|1 |demo|1234 |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 :(

  • 那么是否可以聚合设置表中的所有行并将行转换为使用title字段作为列标题及其value = value字段?
  • 这是一个很好的方法吗?
  • 无论如何设计我的桌子?

我使用这种结构的原因是/我不知道我需要多少设置所以我不想在单个平面表结构中限制自己。

0 个答案:

没有答案