我想知道是否可以通过查询获取具有相同ID的行的所有值并将它们显示为新列。
例如,如果我有下表:
ID | VALUE
1 | a
1 | b
1 | c
2 | a
2 | b
[...]
我想把它呈现为:
ID | VALUE1 | VALUE2 | VALUE3 [...]
1 | a | b | c
2 | a | b | -
感谢您的帮助
答案 0 :(得分:0)
查询不会这样做。除非你做3个单独的查询。
SELECT ID,VALUE1 FROM Table
SELECT ID,VALUE2 FROM Table
ect...
如果您的数据库值不是递归的问题,那么我会以不同的方式设置您的表。
ID | VALUE
1 | a
1 | b
1 | c
2 | a
2 | b
[...]
你应该设置像这样的表属性,而不是你的第一个表。
如果要以不同的方式设置表,我会插入语句。
INSERT INTO newTable (ID, VALUE)
SELECT ID,VALUE1 FROM oldTable
INSERT INTO newTable (ID, VALUE)
SELECT ID,VALUE2 FROM oldTable
等..
另一种可能的方法是在应用程序中显示它。以php为例。
foreach($sqlArray as $var){
echo $var['id'] ' | ' $var['value1']
echo $var['id'] ' | ' $var['value2']
echo $var['id'] ' | ' $var['value3']
}