MySQL查询多列到3列
MySQL query to get multiple columns to 3 columns
我有以下 mysql table 和记录:
http://sqlfiddle.com/#!9/fb7c68/1
我想创建一个将记录显示在 3 列中的查询
product_id, parent_option_id, parent_option_value_id (only if the parent_option_id > 0)
.
.
.
.
product_id, child_option_id, child_option_value_id (only if the child_option_id > 0)
.
.
.
.
product_id, grandchild_option_id, grandchild_option_value_id (only if the grandchild_option_id > 0)
如果我理解正确,你想做什么,试试用 UNION 组合的 3 个查询。
SELECT
product_id as id,
parent_option_id as option_id,
parent_option_value_id as option_value_id
FROM option_value
WHERE
parent_option_id > 0
UNION
SELECT
product_id as id,
child_option_id as option_id,
child_option_value_id as option_value_id
FROM option_value
WHERE
child_option_id > 0
UNION
SELECT
product_id as id,
grandchild_option_id as option_id,
grandchild_option_value_id as option_value_id
FROM option_value
WHERE
grandchild_option_id > 0;
我有以下 mysql table 和记录: http://sqlfiddle.com/#!9/fb7c68/1
我想创建一个将记录显示在 3 列中的查询
product_id, parent_option_id, parent_option_value_id (only if the parent_option_id > 0)
.
.
.
.
product_id, child_option_id, child_option_value_id (only if the child_option_id > 0)
.
.
.
.
product_id, grandchild_option_id, grandchild_option_value_id (only if the grandchild_option_id > 0)
如果我理解正确,你想做什么,试试用 UNION 组合的 3 个查询。
SELECT
product_id as id,
parent_option_id as option_id,
parent_option_value_id as option_value_id
FROM option_value
WHERE
parent_option_id > 0
UNION
SELECT
product_id as id,
child_option_id as option_id,
child_option_value_id as option_value_id
FROM option_value
WHERE
child_option_id > 0
UNION
SELECT
product_id as id,
grandchild_option_id as option_id,
grandchild_option_value_id as option_value_id
FROM option_value
WHERE
grandchild_option_id > 0;