【问题标题】:SQL PIVOT after an INNER JOININNER JOIN 后的 SQL PIVOT
【发布时间】:2014-08-08 18:12:59
【问题描述】:

我正在尝试从我的 wordpress 数据库中的数据创建和事件页面。 数据保存在 2 个表中($wp_posts 和 $wp_postmeta)。在 INNER JOIN 之后,我需要 PIVOT 表 $wp_postmeta 但经过多次尝试后我不知道该怎么做。

我的查询是:

SELECT
PO.ID,
PO.post_title,
PO.post_content,
PM.post_id,
PM.meta_key,
PM.meta_value

FROM $wp_posts PO
INNER JOIN $wp_postmeta PM ON PO.ID = PM.post_id

我需要让表 $wp_postmeta 中的“meta_key”成为列名,然后才能选择 meta_values

感谢您对我的查询的帮助。

【问题讨论】:

    标签: mysql sql pivot inner-join pivot-table


    【解决方案1】:

    MySQL 无法运行枢轴。但您可以伪造枢轴。

    注意:

    您需要知道要旋转的行数。

    查询:

    SELECT
        MAX(CASE meta_key WHEN '_EventOrganizerID' THEN meta_value END )AS _EventOrganizerID,
        MAX(CASE meta_key WHEN '_EventURL' THEN meta_value END )AS _EventURL,
        MAX(CASE meta_key WHEN '_EventCost' THEN meta_value END )AS _EventCost,
        MAX(CASE meta_key WHEN '_EventCurrencyPosition' THEN meta_value END )AS _EventCurrencyPosition,
        MAX(CASE meta_key WHEN '_EventCurrencySymbol' THEN meta_value END)AS _EventCurrencySymbol,
        MAX(CASE meta_key WHEN '_EventVenueID' THEN meta_value END )AS _EventVenueID,
        MAX(CASE meta_key WHEN '_EventDuration' THEN meta_value END )AS _EventDuration,
        MAX(CASE meta_key WHEN '_EventEndDate' THEN meta_value END )AS _EventEndDate,
        MAX(CASE meta_key WHEN '_EventStartDate' THEN meta_value END )AS _EventStartDate,
        MAX(CASE meta_key WHEN '_EventAllDay' THEN meta_value END )AS _EventAllDay
    FROM
    (   SELECT
            PO.ID,
            PO.post_title,
            PO.post_content,
            PM.post_id,
            PM.meta_key,
            PM.meta_value
        FROM $wp_posts PO
        INNER JOIN $wp_postmeta PM ON PO.ID = PM.post_id
    ) t
    GROUP BY post_id
    

    另一个注意事项:

    如果您想从此查询中选择 meta_values.. 因为它不仅可以旋转结果,而且实际上可以选择特定的内容,您可以从该查询中选择,就像我旋转它一样。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-09
      • 2013-07-01
      • 2013-07-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-08-23
      • 2011-03-25
      相关资源
      最近更新 更多