标签: conditional

条件JOIN不同的表

我想知道用户是否在2个相关表中的任何一个中都有一个条目.

USER (user_id)
EMPLOYEE (id, user_id)
STUDENT (id, user_id)
Run Code Online (Sandbox Code Playgroud)

用户可以拥有员工和/或学生条目.如何在一个查询中获取该信息?我试过了:

select * from [user] u
inner join employee e 
    on e.user_id = case when e.user_id is not NULL 
                        then u.user_id 
                        else null 
                   end
inner join student s 
    on s.user_id = case when s.user_id is not NULL 
                        then u.user_id 
                        else null 
                   end
Run Code Online (Sandbox Code Playgroud)

但它只会返回两个表中都有条目的用户.

SQL小提琴示例

sql conditional join sql-server-2008

20
推荐指数
4
解决办法
6万
查看次数

Ruby'is_a?' 需要的类或模块(TypeError)

我正在玩Ruby并尝试创建一个小银行帐户程序.当我运行使用create_account运行的特定代码行时:

unless @response.is_a? Integer && @response.to_str.length == 4
    puts "Your response must be 4 numbers in length."
    create_account
else
    @pin = @response
    puts "Your pin has been set."
end
Run Code Online (Sandbox Code Playgroud)

我收到了这个回复:

bank_account.rb:24:in 'is_a?':class or module required (TypeError)
    from bank_account.rb:24:in 'create_account'
    from bank_account.rb:47:in '<main>'
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚发生了什么,但我包括了其余的代码.这是不完整的,显然是因为我坚持这一部分.我经历一个while循环并输入'Create Account'来启动create_account方法.我的目标是运行条件并要求用户键入一个4位整数,就像任何ole pin号一样.如果它不是整数,也不是4位数,我调用create_account方法让它们重新开始.

如果有必要,我正在运行ruby 2.0.0,但我打赌它可能更多地与我的代码有关.Stackoverflow对我来说是新的,所以如果有人提出这个问题我很抱歉.在提出问题之前,我按照建议做了我的作业,但我仍然难过.任何帮助表示赞赏.

ruby conditional integer typeerror while-loop

20
推荐指数
1
解决办法
7690
查看次数

使用OR运算符的AngularJS ng-class多条件

我试图找出根据角度值添加类的良好语法.我想用OR运算符激活关于2个条件的类(一个关于实时用户更改,一个关于加载数据).

这是一行:

 <a href="" ng-click="addFavorite(myfav.id);favorite=!favorite">
    <i class="fa orange" ng-class="{'fa-star': (favorite || (fav==myfav.id)), 'fa-star-o': !favorite}"></i>
 </a>
Run Code Online (Sandbox Code Playgroud)

我尝试了一些像这样的不同代码:

 ng-class="{'fa-star': favorite, 'fa-star': (fav==myfav.id), 'fa-star-o': !favorite}"
Run Code Online (Sandbox Code Playgroud)

没有任何成功.有人能帮我找到好的语法吗?

conditional angularjs ng-class

20
推荐指数
2
解决办法
6万
查看次数

如何在BASH条件中检查文件是否有多于1行?

我需要检查一个文件是否有超过1行.我试过这个:

if [ `wc -l file.txt` -ge "2" ]
then
    echo "This has more than 1 line."
fi


if [ `wc -l file.txt` >= 2 ]
then
    echo "This has more than 1 line."
fi
Run Code Online (Sandbox Code Playgroud)

这些只是报告错误.如何在BASH条件中检查文件是否包含多行?

bash conditional

20
推荐指数
3
解决办法
2万
查看次数

您是否应该始终为"永远不会发生"的其他情况编写代码?

拿一些像这样的代码

if (person.IsMale()) {
    doGuyStuff();
} else {
    doGirlStuff();
}
Run Code Online (Sandbox Code Playgroud)

是否应该写入以明确检查是否person.isFemale(),然后添加一个抛出异常的新else?也许你正在检查枚举中的值,或类似的东西.你认为没有人会在枚举中添加新的元素,但谁知道呢?"永远不会发生"听起来像着名的遗言.

language-agnostic conditional

19
推荐指数
4
解决办法
873
查看次数

在T-SQL UPDATE语句中实现IF条件

使用T-SQL,我想执行一个UPDATE语句,只有在定义了相应的变量时才会设置列.

这是我想要完成的一个简单的伪tsql示例:


--Declaring vars
@ID int,
@Name nvarchar(20),
@Password nvarchar(10)

--Run the update
UPDATE User
SET
IF LEN(@NAME) > 0
  Name = @Name,
IF LEN(@Password) > 0
  Password = @Password
Run Code Online (Sandbox Code Playgroud)

通过阅读IF条件如何在T-SQL中工作,我可以看出,为了完成与上面的伪代码相同的结果,我将不得不为每个IF条件创建一个UPDATE语句 - 这就是我想要的避免不得不这样做.

是否可以仅使用一个UPDATE语句基于条件动态设置字段/列? - 如果是的话,怎么样?

t-sql sql-server conditional

19
推荐指数
1
解决办法
6万
查看次数

切换vs if语句

我处于两难境地.哪个最好用,为什么..切换或如果?

switch ($x) 
{
case 1:
  //mysql query 
  //echo something
  break;
case 2:
  //mysql query 
  //echo something
  break;
}
Run Code Online (Sandbox Code Playgroud)

...

if ($x == 1) {
    //mysql query 
    //echo something    
} 

if ($x == 2) {   
    //mysql query 
    //echo something
}  
Run Code Online (Sandbox Code Playgroud)

php conditional if-statement switch-statement

19
推荐指数
4
解决办法
2万
查看次数

HTTP:结合过期和验证缓存

我在为以下情况制定HTTP缓存标头时遇到问题.

我们的服务器有大量数据,每周可能会改变几次.我希望浏览器缓存这些数据.此外,我希望尽可能减少条件获取的延迟,因为网络不可靠.

我追求的最终行为是这样的:

  1. 客户端请求之前从未见过的资源.
  2. 服务器响应资源以及ETag和max-age(24小时).
  3. 直到24小时过去,客户端才会使用缓存资源.
  4. 在到期日期之后,客户端将执行验证请求(If-None-Match: [etag])
  5. 如果资源没有改变:
    • 服务器响应 304 Not Modified
    • 客户端以某种方式告知现有资源从现在起24小时内有新的到期日期
    • 回到第3步

归结为它的本能... 304响应可以包含一个新的max-age?或者原来是否max-age受到后续要求的尊重?

conditional caching http http-caching

19
推荐指数
1
解决办法
6720
查看次数

构建ruby gem并有条件地指定依赖项

我正在研究一个gem,它需要在安装gem时有条件地设置依赖项.我做了一些挖掘

看起来我并不孤单.

Rubygems:如何添加特定于平台的依赖项?

这是一个很长的线索

http://www.ruby-forum.com/topic/957999

我可以看到向gem添加依赖项的唯一方法是在.gemspec文件中的Gem :: Specifiction块中使用add_dependency方法

Gem::Specification.new do |s|

  # ... standard setup stuff

  # conditionally set dependencies
  s.add_dependency "rb-inotify", "~> 0.8.8" if RUBY_PLATFORM =~ /linux/i
  s.add_dependency "rb-fsevent", "~> 0.4.3.1" if RUBY_PLATFORM =~ /darwin/i
  s.add_dependency "rb-fchange", "~> 0.0.5" if RUBY_PLATFORM =~ /mswin|mingw/i

end
Run Code Online (Sandbox Code Playgroud)

基于我在网上找到的所有文档和线程,我希望如果你安装gem

  • 那么,Linux,rb-inotify将是一个依赖项并自动安装
  • 将安装Mac-rb-fsevent
  • Windows-rb-fchange将被安装

但是,似乎并非如此.块中的"if"语句在构建和打包gem时进行评估.因此,如果您在Linux上构建并打包gem,那么,rb-inotify将作为依赖项添加,然后是rb-fsevent,Windows-rb-fchange.

仍然需要一个解决方案,我在rubygems代码中挖掘出来,似乎以下内容是对发生的事情的广泛描述.

  • 为你的gem构建所有代码:foo.gem
  • 创建一个foo.gemspec文件
  • 构建,打包并将gem发布到gem服务器,例如rubygems.org
  • 让大家知道
  • 开发人员通过以下方式在本地安装:gem install foo
  • 下载,解压缩并安装foo.gem文件.也安装了所有依赖项.
  • 一切都应该设置,我们可以使用宝石.

看来,当宝石是建立和释放的foo.gemspec文件被加载并在宝石::规格块被评估并转换为YAML,压缩为metadata.gz,并包含在foo.gem.ruby代码被压缩成data.tar.gz并包含在内.当gem安装在本地开发人员机器上时,YAML从metadata.gz中提取并转换回Gem :: Specification块,但是,它不会转换回原始块.

相反,你会看到如下内容:

Gem::Specification.new do |s|

  if s.respond_to? :specification_version then
    s.specification_version = 3

    if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
      s.add_runtime_dependency(%q<rb-inotify>, …
Run Code Online (Sandbox Code Playgroud)

ruby gem conditional dependencies

19
推荐指数
1
解决办法
4329
查看次数

如何根据数据类型在python中设置条件?

这个问题似乎令人难以置信,但我无法弄清楚.我知道你可以检查python中的数据类型,但是如何根据数据类型设置条件?例如,如果我必须编写一个通过字典/列表排序并将所有整数相加的代码,那么如何隔离搜索以仅查找整数?

我想一个简单的例子看起来像这样:

y = []
for x in somelist:
    if type(x) == <type 'int'>:  ### <--- psuedo-code line
    y.append(x)
print sum(int(z) for z in y)
Run Code Online (Sandbox Code Playgroud)

那么对于第3行,我将如何设置这样的条件?

python conditional types

19
推荐指数
2
解决办法
4万
查看次数