我有一个具有以下结构的表:
CREATE TABLE `slide_style_info` (
`ssi_id` int(11) unsigned NOT NULL AUTO_INCREMENT,
`slide_style_id` int(11) DEFAULT NULL,
`input_type` varchar(64) DEFAULT NULL,
`input_name` varchar(64) DEFAULT NULL,
`default_value` varchar(64) DEFAULT NULL,
PRIMARY KEY (`ssi_id`)
) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=latin1
和值:
1 |1 |Text |Text 1 |First text here
2 |1 |Text |Text 2 |Second text here
3 |2 |Text |Text 1 |First text here
4 |1 |Text |Text 3 |Third text here
5 |1 |Font Family |Font Family 1 |Comic Sans
6 |1 |Font Family |Font Family 2 |Comic Sans
7 |1 |Font Family |Font Family 3 |Comic Sans
8 |2 |Font Family |Font Family 1 |Comic Sans
我想选择slide_style_id = 1
所有的行,但显示结果的格式为:
1 |1 |Text |Text 1 |First text here |Font Family |Font Family 1 |Comic Sans
2 |1 |Text |Text 2 |Second text here |Font Family |Font Family 2 |Comic Sans
4 |1 |Text |Text 3 |Third text here |Font Family |Font Family 1 |Comic Sans
可以用sql完成吗?
我希望使用的解决方案可以使用:
SELECT `input_type`, `input_name`
FROM `scene_style_info`
WHERE `scene_style_id` = 1
AND `input_type` = "Text"
ORDER BY `input_name`
和
SELECT `input_type`, `input_name`
FROM `scene_style_info`
WHERE `scene_style_id` = 1
AND `input_type` = "Font Family"
ORDER BY `input_name`
现在我以正确的顺序拥有了我需要的值,但我不知道有任何方法可以水平地拼接这些列。
答案 0 :(得分:0)
这不是一个真正的解决方案,只是观察
我认为您的请求只能部分地来自您提供的事实。
它看起来像你可以关联这一行
ssi_id | slide_style_id | input_type | input_name | default_value
3 |2 |Text |Text 1 |First text here
到此行,因为他们共享常见的slide_style_id值为2
ssi_id | slide_style_id | input_type | input_name | default_value
8 |2 |Font Family Font Family 1 |Comic Sans
,结果将是一行,类似于问题
中包含的那一行但使用相同的逻辑,这三行中的每一行:
ssi_id | slide_style_id | input_type | input_name | default_value
1 |1 |Text |Text 1 |First text here
2 |1 |Text |Text 2 |Second text here
4 |1 |Text |Text 3 |Third text here
将涉及这3行中的每一行
ssi_id | slide_style_id | input_type | input_name | default_value
5 |1 |Font Family |Font Family 1 |Comic Sans
6 |1 |Font Family |Font Family 2 |Comic Sans
7 |1 |Font Family |Font Family 3 |Comic Sans
,结果将是3x3 = 9行
我的观点是,您还没有为我们提供使用SQL生成所需结果的任何逻辑方法。