Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MYSQL将列分成具有列名的行_Mysql_Sql_Pivot - Fatal编程技术网

MYSQL将列分成具有列名的行

MYSQL将列分成具有列名的行,mysql,sql,pivot,Mysql,Sql,Pivot,我想将查询结果的列转换为行。是的,这是一个支点,有很多关于支点的文章。请容忍我。这是基于一个子查询而不是一个表和聚合来进行透视 我有一个查询,返回一行:数据库中各种表中的个人详细信息。此查询类似于: SELECT * FROM ( SELECT wp_usermeta.meta_value AS member_id FROM wp_usermeta WHERE wp_usermeta.user_id=1234 AND wp_usermeta.meta_key=

我想将查询结果的列转换为行。是的,这是一个支点,有很多关于支点的文章。请容忍我。这是基于一个子查询而不是一个表和聚合来进行透视

我有一个查询,返回一行:数据库中各种表中的个人详细信息。此查询类似于:

SELECT *
FROM (
    SELECT wp_usermeta.meta_value AS member_id
    FROM wp_usermeta
    WHERE wp_usermeta.user_id=1234 AND
      wp_usermeta.meta_key="member_id") AS m
LEFT JOIN tabMembers ON tabMembers.ID=m.member_id
此返回内容的截断版本(仅6列):

id first last   phone        level cert
-- ----- -----  ------------ ----- ----
25 john  smith  111-222-3333 5     no
我想将结果的列转换为行,如下所示:

Field  Value
-----  -----
id     25
first  john
last   smith
email  js@example.com
phone  111-222-3333
level  5
cert   no
我很难理解如何构造使用此结果生成第二个表的查询。我知道这可能是一系列精选的。。。工会声明

SELECT "id" AS "Field", tabMembers.`id` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id UNION
SELECT "first" AS "Field", tabMembers.`first` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id UNION
SELECT "last" AS "Field", tabMembers.`last` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id UNION
SELECT "phone" AS "Field", tabMembers.`phone` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id UNION
SELECT "level" AS "Field", tabMembers.`level` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id UNION
SELECT "cert" AS "Field", tabMembers.`cert` AS "Value" FROM tabMembers WHERE tabMembers.ID=m.member_id
我想要避免的是运行第一个查询,在每个SELECT中反复提取成员id。。。工会声明


理想情况下,这只是结果列名上的一个循环,它将从表模式中提取出来,但同样,我很难理解这种形式。

我无法想象您为什么要这样做。但是您可能会考虑在应用程序CODEDAS中处理数据显示的问题,消费代码已经存在,不是我们的,并且需要这个格式中的数据,定界符<代码> \g < /代码>帮助吗?(而不是