询问一个SQL如何实现判断查询的问题

这是我现在的语句
strSql2.Append("SELECT a.SystemContractID, a.Income, a.TotalMargin, a.UserCode,a.StrategyID, b.StrategyName FROM OrderProfit_History as a INNER JOIN Strategy as b ON a.StrategyID = b.StrategyID");
OrderProfit_History表中和Strategy 表中都有StrategyID,但是只有Strategy 表中的
StrategyID 有对应的StrategyName,并且OrderProfit_History表中有Strategy 表所没有的StrategyID。现在的语句执行结果是,返回OrderProfit_History表中所有的StrategyID 在Strategy 表中存在的数据,并显示对应的StrategyName。
我下面想实现的是,显示OrderProfit_History表中所有的数据,如果StrategyID 在Strategy 表中存在,就显示StrategyName ,反之,则没有对应的StrategyName ,那就
在StrategyName 项中用StrategyID 替代吧。
表达的应该清楚了吧,本人对SQL不是很懂,不知道我说的这个逻辑能不能用一条SQL语句实现?

1个回答

1、以OrderPofit_History表为主表,进行做关联。
2、在select语句中用case when 子句判断StrategyName是否为空,非空显示StrategyName,为空显示StrategyId填充。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
询问一个查询sql的问题
我有一个aa字段,比如该字段数据为:rn10,12,14,rn这样的数据rn现在想查14在这里是否出现,如何查到?
救命啊 询问一个sql查询的问题
[img=http://hiphotos.baidu.com/zhexue/pic/item/34bf39dbb6fd5266ce6703a7ab18972bd50736ac.jpg][/img]rn如图 想要使金水区下的营业厅里的数值通过sum和金水区的合并到一起 如果其它营业部有数值的话 比如二七区 也让下面的营业厅的数值合并 下面营业厅和营业部的关系是 营业厅的PARENT_ORG_ID是营业部的ORG_ID 请问这种情况如何sum?rn这样写的话不能得到完整的值,主要是别的字段不一样 组织代码和组织名称 如果不要那两个字段就可以实现 但前台又无法取值了 请问有什么办法能让它们的值合并?
询问:SQL语句查询的问题
在access中,对一个表中,存在很多字段,而对于每个其类型不知道。rnrn此时:想利用SQL语句来查询指定的一行,语句如下:rnselect * from TableName where a=123 and b = '123'rn对于此语句,若果a字段本身是数字型,b是字符型,语句是没有问题的;而如果b是数字型,语句出错。rnrn我想问下大家,有没有不用对字段类型判断,而直接用SQL语句来解决的办法?
询问一条SQL查询
有一张表示登录表 :rnID LOGIN_TIME rn如何查询登录时间间隔在5分钟以内的用户ID
再询问一个查询问题
第一个表rnrnSeernrnName---Tiefe---LandrnBodensee 252 BRDrnGardasee 346 ItalienrnVaenernsee 100 SchwedenrnTanganjikasee 1435 ZairernTanganjikasee 1435 TansaniarnTanganjikasee 1435 RusslandrnTanganjikasee 1435 SambiarnVictoriasee 85 UgandarnVictoriasee 85 KeniarnVictoriasee 85 TansaniarnBaikalsee 1620 Russlandrntanasee 72 AethiopienrnTschadsee 7 TschadrnTschadsee 7 NigerrnTschadsee 7 NigeriarnEduardsee 117 ZairernEduardsee 117 UgandarnOntariosee 236 USArnOntariosee 236 KanadarnTiticacasee 272 PerurnTiticacasee 272 BolivienrnSchatzsee 272 PhantasiarnSilbersee 272 PerurnGoldsee 135 EldoradornGenfersee 310 SchweizrnBodensee 252 Schweizrnrnrnrn第二个表: KontinentrnrnrnLand---ErdteilrnrnSchweden-EuroparnSchweiz-EuroparnItalien-EuroparnBRD-EuroparnRussland-EuroparnZaire-AfrikarnTansania-AfrikarnBurundi-AfrikarnSamia-AfrikarnUganda-AfrikarnKenia-AfrikarnAethiopien-AfrikarnTschad-AfrikarnNiger-AfrikarnNigeria-AfrikarnMexiko-AmerikarnKanada-AmerikarnUSA-AmerikarnPeru-AmerikarnBolivien-Amerikarneldorado-AmerikarnPhanitasia-AntarrktikarnChina-AsienrnAustralien-Australienrnrnrnrnrnrnrnrn如果我想要列出非洲各个国家里最深的那个还的名字,深度和国家名字.要怎么办rn就是说有些非洲国家里可能有2个海,但是我只要那个最深的那个rn最后按照深度排列rnrnrnrnrnrnrn
询问一个查询的方式
oracle表有3个column A B Crnrn现在查询where条件,必须A B C同时满足一组条件, 并且这些条件可能会有很多组。rnrn比如where (A = 'A1' AND B = 'B1' AND C= 'C1')rn OR (A = 'A2' AND B = 'B2' AND C= 'C2')rn OR (A = 'A3' AND B = 'B3' AND C= 'C3')rnrn就是这样的条件,有没有更好的写法呢?rnrn谢谢大家
询问一个查询
设有一个按照某一列升序排列好的表rn想查出这个表中升序排列的那一列当中值的大小排在第五到第十行的数据
询问一个查询:
有表A(stuCode,name,age,sex),B(SubjectCode,name)和C(stuCode,subjectCode,Grade)rn请问各位高手怎么用一条sql查询出任何有一门成绩>=60分的女生的姓名和各科成绩以及总成绩。
SQL查询判断问题
就是 我想在TEXT上填写查询的内容 比如说 text.text=“三星” 那我单击了command1 我就要在数据库:"jiadian" 表:"pinpai" 的"名称" 列中进行查找,如果没有那么将"电视机"增加到"名称"中 如果有那Msgbox来提示 请问如何写? 这问题对来来说太复杂了,求高手能帮帮我~先在此谢谢~!!!
再次询问:如何实现两表查询??
我要取得pic表中字段pic的值,条件是表pic中字段user_id与表reg字段user_id相同的值,表pic中user_id有重复的值,表reg中user_id不可重复。
询问经典查询问题。
我想在ACCESS数据库中,查询出近一周,近一月,近一年记录。rnrn和本周,本月,本年记录。。rnrn这样的该如何查询呢?
询问一个SQL算法。
表DeptInfo:rn Code SubCode (字段)rn A Crn A Ern B Drn B Frn C Grn D Hrnrn 其中,Code是SubCode的上级部门。rnrn 上述表用TREEVIEW显示如下:rn ___ rn A--| C--Grn | |___ Ern |rn B--|-- D-Hrn | rn ---- F rnrn 请问用什么算法让数据更快更好的加载到TREEVIEW来呢?rn 100分相送,决不食言!!!rn (有代码最好!)rn
询问一个SQL写法
一个表的字段rnD A B Crn1 1 2 3rn2 1 2 4rn3 2 3 4rn4 2 3 5rn要求的效果rnD A B Crn1 1 2 3rn3 2 3 4rnrn其中D是主键,要求取A字段相同情况下的第一条
一个查询判断的问题
在一个table,column有num,name,streetstreet_1,times如果在street中出现了homecare这个字符,就在street_1中显示显示这个homecare这个字符。rn这个问题是这个样子的,因为把把street中去除很多的字符,然后把这些字符放到另外一个字段中组合起来。
询问一个sql语句
我有a,b,c,d四个表,如何用一条语句把所有的表中的纪录都读出来?
询问一个Sql的写法。
由于本人没有用过sybase所以,不清楚类似这样的语句应当怎样写,谢谢各位了!rnrnselect t1.*,t2.fm fromrn(select dm,sum(je) as fz from table_dm where sj='a' group by dm) t1,rn(select dm,sum(je) as fm from table_dm where sj='b' group by dm) t2rnwhere t1.dm = t2.dm
询问一个SQL语句
表leibie rn字段id uname leibieidrn 1 类别1 0rn 2 类别2 0rn 3 类别3 1rn 4 类别4 2rn 5 类别5 1rnrnleibieid=0说明是大类 leibieid别的数值对象相应的idrn我想让DATAGRID显示的时候先显示大类然后再显示相应的小类rn类别1rn类别3rn类别5rnrn类别2rn类别4
询问一个SQL语句一个问题
其实呢很简单,就是不知道其中这个N是什么意思。rn没用过,但是在许多SQL语句中都见过,就是搞不懂这个意思rn哪位朋友能给解答一下,最好能给说的详细点哈。。。。‘rnThank You!!rn以下为SQL语句:rnSQL[SELECT rnid, name, password, email, team_id, grade, is_deleted rnFROM tbl_admin_user rnWHERE id = N'admin' rnAND is_deleted = N'N'] rnrn就是其中的那个N是啥意思。。。。。
询问:VSS.NET的版本如何判断?
我买了套D版VSS,但不清楚其版本是BETA2呢还是正式版(肯定不是BETA1)rn执行csc的结果是:rnMicrosoft (R) Visual C# .NET Compiler version 7.00.9466rnfor Microsoft (R) .NET Framework version 1.0.3705rn版权所有 (C) Microsoft Corporation 2001。保留所有权利。
如何查询中实现判断?
我想在查询语句select中实现 当实际量-计划量
如何实现这样的判断查询?
我想在查询语句里根据某一int字段的值取得不同的字符串。rn比如表r(a,b,c),如果a=1则显示("yes",b值,c值),否则显示("no",b值,c值),rn想用一条语句实现,类似rnselect a==1?'yes':'no',b,c from rrn当然这条语句是不对的,应该怎么写呢??
如何实现这样一个SQL查询?
各位高人,目前有下表rnrn Num Name Datern 01 张三 20021102rn 02 李四 20021101rn 03 赵武 20021103rn 03 赵武 20021123rnrn要实现的结果是,根据SQL选出有记录的人员的最后一个日期的信息。对于上表中,要实现的查询结果就是:rnrn 01 张三 20021102rn 02 李四 20021101rn 03 赵武 20021123rnrn用SQL如何实现?请教大侠们!分不多,请各位帮忙了
询问一条SQL语句的实现
数据库中的字段和值为:rnid 字段1rn1 fsdfsdfrn2 abcrn3 sdfarn……rnrn现从其他数据库中取得一个值X为:abcdef(此值为变量)rn请问大家如何通过一条简单的SQL匹配到上面数据库中的ID=2的记录呢?谢谢。
如何实现一个查询?
我现在用delphi做一个程序,遇到查询表的问题,请各位指教,一个表A(id),有三条记录1,2 ,3,表B(id),有一条记录1,我怎么求出A表中排除B表中记录的结果集呢?
如何实现谈出一个询问对话框?
在按“删除”按扭后,我想让他弹出个一“确实要删除吗?”的对话框? 在该对话框上按 yes 则删除 否则 不删除 。请高手指点,谢谢!
询问两个表的查询问题
A表rnrnNAME IDS rnrnname1 1rnrnname2 2rnrnB 表rnrnIDS desrnrn1 描述1rnrn2 描述2rnrnB表中IDS是有限个每个IDS对应一个描述rnrnrn想实现的效果是,建立A表中IDS与B表中DES的关联rnrnNAME IDS desrnrnNAME1 1 描述1rnrnNAME2 2 描述2rnrnrn
询问关于查询排序问题
有一表 A表 里面有字段如下:rnrnID NAME rn1 XXrn2 XXrn3 XXrn4 XXrnrn有一查询语句 select * from A where ID in(2,1,4,3) rn按照这条查询语句查出来的数据排序格式为1,2,3,4 ,但我想让他按照 2,1,4,3这个原顺序排序应该怎办?谢谢,盼复
询问一个sql语句的效率问题
询问一个问题,现有一张表执行INSERT操作,其中一部分数据是界面手工输入,还有一部分数据需从其他表取,现在用程序处理直接执行sql语句(简化后语句),如下:rnINSERT INTO 明细表rn(Guid,人员ID,人员名称,人员电话,单位ID,单位名称,单位编码,备注)rnSELECT '1',人员表.Guid,人员表.名称,人员表.电话,机构表.Guid,机构表.名称,机构表.编码,'测试数据,可以删除!'rnFROM 机构表,人员表rnWHERE (机构表.Guid = '2') AND (人员表.Guid = '1')rnrn不知道,这样的效率如何?rn这种方法和分别执行两次SELECT 取两张表内容后,在执行一个简单的INSERT\VALUES比那种更好?还有没有别的更好的思路?
询问一个跟SQL分组相关的问题
我有以下一张表rnT_inforniid int primary_key,rnusername varchar2(20),rndatetime varchar2(10),rnrecord varchar2(50),rnrn其中username存放的是用户名 datetime存放的是日期 格式yyyy-MM-dd record是这个人说过的一句话rnrn现在我想统计 从2009-08-01 到 2009-08-30 [color=#FF0000]每人每天说过几句话[/color] 不知道要怎么搞rn我写了一个分组语句rnrn[code=SQL]select username,datetime,count(*) as total from t_info where rndatetime>='2009-08-01' and datetime < ='2009-08-31' rngroup by username,datetime order by username,datetime asc;[/code]rnrn但是如果有人有一天没有说话 那执行这个SQL语句的结果 将会没有这一天的数据 rn比如说有个人2009-08-02没有说话 那结果就变成 rn username,2009-08-01,countrn username,2009-08-03,count rn其中没有2009-08-02的数据rn我想让他能有差的那一条数据 并把count值赋为0 就变成rn username,2009-08-01,countrn username,2009-08-02,0rn username,2009-08-03,count rnrn不知道要怎样写SQL语句rnrnrn
询问一个关于sql语句语法的问题
[code=C#]rn string sqlstr = "insert into lkinfo (outtime) values('" + OutTime + "') where outtime = '" + OutTimeDb + "' and room_id = '" + Room_id + "' and LKName = '" + LkName + "'";rn[/code]rnrn这句代码有什么错误吗?调试的时候总是提示where附近有语法错误。
一个SQL查询问题
货物价格对应表a:rngid gpricern 1 10rn 2 20rnrnrn现在我买10件gid为1的物品,5件gid为2的物品,怎么一个查询查出总价钱呢?rnrn
一个SQL查询的问题???
有一个表,表中的记录如下: rn序号 工号 数量 日期 rn6 2681 1100.0 2007-05-05 rn7 2681 1250.0 2007-10-15 rn9 2157 1400.0 2007-10-17 rn10 2890 1200.0 2007-10-17 rn11 1791 1700.0 2007-10-17 rn13 2746 1200.0 2007-10-18 rn14 2890 1350.0 2007-10-18 rn15 3220 1400.0 2007-10-18 rn16 3094 1400.0 2007-10-18 rn17 2087 1350.0 2007-10-24 rn18 3175 1350.0 2007-10-26 rn19 2890 1450.0 2007-10-26 rnrn现在我想用一条查询语句,将其中各工号中数量最大的‘记录’的序号找出来???? rnrn 我用select 工号,数量 form 表 group by 序号 ,能找出各工号中数量最大的记录,但是得不到我想要的序号?苦想了很久,一直没有实现。。。。分不多,还请请大家多多帮助我 !rn
一个sql查询问题
给了3张表:rnrn学生表student 学号sid,姓名sname,性别sex,年龄age,院系deptrnrn课程表Course课号cid,课程名称cname,学分cscorernrn成绩表score 学号sid,课号,成绩scorernrn1.查询姓李的所有人的学号和姓名并且名字是三个字的rnrn2.查询院系人数大于100的系 人数和平均年龄rnrn3.查询所有成绩都超过80分的学号 姓名rnrn
一个sql查询的问题
table: id chargern 001 50rn 001 60rn 001 100rn 002 70rn 002 80rn如何写一句SQL查询,使得查询结果为:rn id chargern 001 50+60+100rn 002 70+80rn(不要求和的结果)
一个SQL查询的问题
有一张表 大概数据是这样的 -------------------------------------------------- rnrn 主键 外键 省代码 市代码 地区名rn id mid p_code r_code r_namern 111 1946953 110000 110200 北京市rn 112 1946953 110000 110100 北京市rn 113 1946953 120000 120200 天津市rn 114 1946953 120000 120100 天津市rn 131 1947031 340300 蚌埠市rn 132 1947031 340500 马鞍山市rn 138 1948840 320000 320500 江苏省rn 139 1948840 320000 320100 江苏省rn 140 1948840 320000 320700 江苏省rn 141 1948840 320000 320800 江苏省rn 142 1948840 320000 320900 江苏省rn 143 1948840 320000 320300 江苏省rn 144 1948840 320000 321100 江苏省rn 145 1948840 320000 321200 江苏省rn 146 1948840 320000 321300 江苏省rn 147 1948840 320000 320200 江苏省rn 148 1948840 320000 320600 江苏省rn 149 1948840 320000 320400 江苏省rn 150 1948840 320000 321000 江苏省rn 151 1948840 441400 梅州市rn 556 1964538 320500 苏州市rn 578 1966627 320500 苏州市rn 576 1966609 110000 110100 北京市rn 577 1966627 320100 南京市rn 740 1967151 320000 320500 江苏省rn 741 1967151 320000 320100 江苏省rn 742 1967151 320000 320700 江苏省rn 743 1967151 320000 320800 江苏省rn 744 1967151 320000 320900 江苏省rn 745 1967151 320000 320300 江苏省rn 746 1967151 320000 321100 江苏省rn 747 1967151 320000 321200 江苏省rn 748 1967151 320000 321300 江苏省rn 749 1967151 320000 320200 江苏省rn 750 1967151 320000 320600 江苏省rn 751 1967151 320000 320400 江苏省rn 752 1967151 320000 321000 江苏省rnrnrn能够得到的用户 数据是 String userCode="320000,320100,320200,320300,320400,320500,320600,320700,320800,320900,321000,321100,321200,321300";rn规则就是 以 mid 来聚合,相同的mid 后面的所有 r_code 都在 用户code里面才是有效数据, 才查出该midrn比如,mid 1946953,1947031 就完全和用户无关, 用户的权限其实就是 江苏省。 其中包含 省级 代码320000 和省下面所有的 市级代码rn在图上数据中 mid 为1948840 的数据 地区是 江苏省 和 梅州市因为有了 梅州市 而用户 不包含所以 不是我要的数据。rn而 mid 为 1964538 苏州,1966627 苏州,1966627 南京 属于用户里面的 ,mid 1967151 就是江苏省, 才是可以查出来的数据 rn请问这样的SQL怎么写, 或者 怎么用游标 以及 存储函数来写,,感谢各位大神。。 ,rn
%%%%%%一个SQL查询问题%%%%%%
SELECT DepID,Calling,rn SUM(CASE WHEN Type=0 THEN TotalFee ELSE ''END) RDD,rn SUM(CASE WHEN Type=1 THEN TotalFee ELSE ''END) IDD rn From V_DeptQuery WHERE CompanyID=16 and ([Begin]>='200201010101' AND [Begin]<='200401010101')rn GROUP BY DepID,Callingrnrnrn如上语句,得到结果rn+-------+-------+---+---+rn| DepID |Calling|RDD|IDD|rn+-------+-------+---+---+rn| 1 | 2001 | 2 | 3 |rn+-------+-------+---+---+rn| 1 | 2003 | 4 | 1 |rn+-------+-------+---+---+rn| 1 | 2004 | 1 | 2 |rn+-------+-------+---+---+rn| 2 | 3001 | 1 | 2 |rn+-------+-------+---+---+rn| 2 | 3001 | 2 | 1 |rn+-------+-------+---+---+rnrn rn我想使得到的结果,在每个Dep后都加一个合计行rnrn+-------+-------+---+---+rn| DepID |Calling|RDD|IDD|rn+-------+-------+---+---+rn| 1 | 2001 | 2 | 3 |rn+-------+-------+---+---+rn| 1 | 2003 | 4 | 1 |rn+-------+-------+---+---+rn| 1 | 2004 | 1 | 2 |rn+-------+-------+---+---+rn| 1 | Sum | 7 | 6 |rn+-------+-------+---+---+rn| 2 | 3001 | 1 | 2 |rn+-------+-------+---+---+rn| 2 | 3001 | 2 | 1 |rn+-------+-------+---+---+rn| 2 | Sum | 3 | 3 |rn+-------+-------+---+---+rn该如何修改?谢谢
一个sql查询问题!
select * from selected where oriented like '"&session("depid")&"'rn其中selected 是一个表rn但我把session("depid")换成它的值rnselect * from selected where oriented like '09'rn确能得到结果rn为什么啊?rn
一个查询SQL的问题。
SELECT dbo.TB_Player.fstrName, rn (dbo.TB_Achievement.fintFD1 + dbo.TB_Achievement.fintFD2 + dbo.TB_Achievement.fintFD3rn + dbo.TB_Achievement.fintFD4 + dbo.TB_Achievement.fintFD5 + dbo.TB_Achievement.fintFD6rn + dbo.TB_Achievement.fintFD7 + dbo.TB_Achievement.fintFD8 + dbo.TB_Achievement.fintFD9rn + dbo.TB_Achievement.fintFD10 + dbo.TB_Achievement.fintFD11 + dbo.TB_Achievement.fintFD12rn + dbo.TB_Achievement.fintFD13 + dbo.TB_Achievement.fintFD14 + dbo.TB_Achievement.fintFD15rn + dbo.TB_Achievement.fintFD16 + dbo.TB_Achievement.fintFD17 + dbo.TB_Achievement.fintFD18)rn AS SumArnFROM dbo.TB_Player INNER JOINrn dbo.TB_Achievement ON dbo.TB_Player.flngID = dbo.TB_Achievement.flngPlayIDrn我想把这两个字段合成一个varchar字段来显示应该如何做呢?rn就像:select (a+b) as c from tb
一个查询SQL的问题
表结构rn[img=https://img-bbs.csdn.net/upload/201506/04/1433407697_10548.png][/img]rnrn需求是 rn 1、支持分页 rn 2、 如果有指定一个参数ID 那么每次分页后的结果集中都包含指定ID的这一行数据。如果没有指定ID 那么就单纯的分页rn rnrn 如:指定ID为2 rn 那么第一页的数据是rn ID NAME rn-------------------------------rn 1 名称1rn [color=#FF0000] 2 名称2[/color]rn 3 名称3rn 4 名称4rn 5 名称5rn 第二页的数据是rn ID NAME rn------------------------------rn [color=#FF0000]2 名称2[/color]rn 6 名称6rn 7 名称7rn 8 名称8 rn 9 名称9rn 第三页的数据是rn ID NAME rn------------------------------rn [color=#FF0000]2 名称2[/color]rn 10 名称10rn 11 名称11rn 12 名称12rn 13 名称13rn其他页rn-------------------------rnrn类似rnrn如果指定的ID为5 那么每一页都包含ID=5这一行的数据rn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview