SQL里如何按条件改变查询列。
比如selectA,BfromtablewhereC查询结果为A,B两个列。我想达到这个效果:如果table条件为D时结果为A,条件为E时结果为B不知道说清楚没有。...
比如
select A,B from table where C 查询结果为A,B两个列。
我想达到这个效果:如果table条件为D时结果为A,条件为E时结果为B
不知道说清楚没有。 展开
select A,B from table where C 查询结果为A,B两个列。
我想达到这个效果:如果table条件为D时结果为A,条件为E时结果为B
不知道说清楚没有。 展开
4个回答
展开全部
SELECT *
FROM (SELECT A xx, C
FROM table
WHERE C = 1
union
SELECT B, C FROM table WHERE C = 2)
WHERE C = ?;
使用这个方法的前提是 列A和列B类型相同。
FROM (SELECT A xx, C
FROM table
WHERE C = 1
union
SELECT B, C FROM table WHERE C = 2)
WHERE C = ?;
使用这个方法的前提是 列A和列B类型相同。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select case 字段 when D then A when E then B end from table
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
select case when D then A when E then B end from tableName --该sql值返回一列
追问
这个不能更改列名么?
AS用不了。
追答
问题是 你条件1时 查询两列, 条件2 或 条件 3时 值显示一列
如果你要实现这个功能 只能是 全部显示2列 其实一列为空
select A,B from 表 where 条件1
union
select (case when 条件2 then A when 条件3 then B end) as 'A','' as B from 表
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-03-14
展开全部
写一个查询类,把条件作为参数传递
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |