defyfly 2013-06-25 02:34 采纳率: 0%
浏览 3079

询问一个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条回答 默认 最新

  • 软件求生 2017-11-08 01:00
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 matlab有关常微分方程的问题求解决
  • ¥15 perl MISA分析p3_in脚本出错
  • ¥15 k8s部署jupyterlab,jupyterlab保存不了文件
  • ¥15 ubuntu虚拟机打包apk错误
  • ¥199 rust编程架构设计的方案 有偿
  • ¥15 回答4f系统的像差计算
  • ¥15 java如何提取出pdf里的文字?
  • ¥100 求三轴之间相互配合画圆以及直线的算法
  • ¥100 c语言,请帮蒟蒻写一个题的范例作参考
  • ¥15 名为“Product”的列已属于此 DataTable