繁体   English   中英

根据多个条件从数据库表中选择值

[英]select values from a db table based on multiple conditions

我想通过查询获取有组织的数据

表格1:

Name     Val     Pid
CA1      2      123
CA2      3      123
CA3      9      123
CA5      6      123
CA4      3      123

我想编写一个查询,仅向我提供父ID的Val,但结构化格式,

我想得到像2 3 9 3 6这样的值

如果我只是做

select val from table1 where pid='123'

我会得到2 3 9 6 3,其格式为CA1,CA2,CA3,CA5,CA4

所需的输出:但我想要2 3 9 3 6中的值,其格式为CA1,CA2,CA3,CA4,CA5

如上所述,对于给定的pid ,结果应采用结构化格式,而不考虑其在“名称”列中存储的顺序。

如果您希望仅使用名称,则可以使用ORDER BY子句

select * from table1 order by Name asc
SELECT 
    GROUP_CONCAT(Val ORDER BY Name ASC SEPARATOR  ' ') 
FROM  
    tablename 
WHERE 
     Pid = '123'
GROUP BY 
     Pid;

演示位于http://sqlfiddle.com/#!2/156ca/11

试试这个...

select val from table1 where pid='123' order by Name asc

或对于所有列

select * from table1 where pid='123' order by Name asc

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM