这个T-SQL语句怎么写?

有表table,包含了三个字段data1,data2,flag想做这样一个查询:select*fromtable(如果flag=1那就加上"wheredata1=1",如... 有表table,包含了三个字段data1,data2,flag
想做这样一个查询:
select * from table (如果flag=1那就加上"where data1=1",如果flag=0那就加上"where data2=1")

不知道怎么写,谢谢
展开
 我来答
simon_999
2008-01-23 · TA获得超过363个赞
知道小有建树答主
回答量:132
采纳率:0%
帮助的人:195万
展开全部
select * from table where (flag=1 and data1=1) or (flag=0 and data2=1);

也可以写一个过程

create or replace procedure 过程名 as
begin
if flag=1 then
select * from table where flag=1 and data1=1;
else if flag=0 then
select * from table where flag=0 and data2=1;
end if
end if
end

然后用过程名调用运行就行了。
TableDI
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击4步自动完成vlookup匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
love2005kiss
2008-01-23 · TA获得超过283个赞
知道答主
回答量:570
采纳率:0%
帮助的人:253万
展开全部
ASP? 你可以用语句拼起来
ASP.NET? 你可以用存储过程
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
NightShadows
2008-01-23 · 超过18用户采纳过TA的回答
知道答主
回答量:109
采纳率:0%
帮助的人:67万
展开全部
select *from table where (flag=1 and data1=1) or (flag=0 and data2=1);
是这个意思吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiaoting811214
2008-01-23 · TA获得超过201个赞
知道答主
回答量:77
采纳率:0%
帮助的人:92.9万
展开全部
select * from table where flag=1 and data1=1
union
select * from table where flag=0 and data2=1
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式