小编pot*_*hin的帖子

比较数字及其字符串表示

val1 = 1
val2 = "1"

if val1 == val2 #< Question is in this line
end
Run Code Online (Sandbox Code Playgroud)

如何比较数字及其字符串表示?

ruby string comparison

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

在oracle sql中通过表达式进行内连接

我是sql的新手,感谢任何帮助.

我有两张桌子,employeesjobs.employees包含变量job_id(多个员工可以拥有相同的job_ID).jobs包含变量job_idjob_title(一个job_ID对应一个job_title,如果你感兴趣,这是oracle中的hr模式).

我想要返回查询:job_title,job_ID和具有相同job_Id的人数.

我尝试了以下代码:

select j.job_title, e.job_ID, count(e.job_ID)
from employees e, jobs j
where e.job_id=j.job_id
group by e.job_Id
Run Code Online (Sandbox Code Playgroud)

错误消息是:

ORA-00979:不是GROUP BY表达式00979. 00000 - "不是GROUP BY表达式"*原因:
*操作:行
错误:83列:8

你能帮我解决这个问题吗?

sql oracle group-by inner-join

14
推荐指数
1
解决办法
3万
查看次数

如何用文本替换空值?

我需要last_name在Oracle SQL中的employees表中显示Employee 及其佣金金额,但条件是如果遇到NULL我需要打印"No Commission"的值.
我写的第一部分是:

select last_name, commission_pct from employees;
Run Code Online (Sandbox Code Playgroud)

但我无法得到如何NULL"无佣金"取代价值观.

sql oracle null

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

NodeJS Multer无法正常工作

我尝试使用NodeJS + ExpressJS + Multer上传文件,但效果不佳.

我的ExpressJS版本是4.12.3

这是我的来源

server.js:

var express = require('express'),
    multer  = require('multer');

var app = express();
app.use(express.static(__dirname + '/public'));
app.use(multer({ dest: './uploads/'}));

app.post('/', function(req, res){
    console.log(req.body); // form fields
    console.log(req.files); // form files
    res.status(204).end()
});
app.get('/', function(req, res)  {
    res.sendFile('public/index.html');
});

app.listen(5000, function() {
    console.log("start 5000");
});
Run Code Online (Sandbox Code Playgroud)

公共/ index.html的:

<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <form method="post" enctype="multipart/form-data">
        <input id="file" type="file"/>
        <button type="submit">test</button>
    </form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

单击"提交"按钮时,我的NodeJS控制台日志:

"C:\Program Files\nodejs\node.exe" server.js
start 5000
{} …
Run Code Online (Sandbox Code Playgroud)

html javascript node.js express multer

13
推荐指数
1
解决办法
2万
查看次数

MySql - 如何获取上一行中的值和下一行中的值?

我有下表,名为Example:

id(int 11) //not autoincriment
value (varchar 100)
Run Code Online (Sandbox Code Playgroud)

它有以下几行数据:

0  100
2  150
3  200
6  250
7  300
Run Code Online (Sandbox Code Playgroud)

请注意,id值不是连续的.

到目前为止我写了这个SQL:

SELECT * FROM Example WHERE id = 3
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何获得前一个id值和下一个值id......

如果id= 3,请帮助我获得之前的值和下一个值?

PS:在我的例子中它将是:previous - 150,next - 250.

mysql sql

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

验证:if

我正在尝试创建一个条件,其中属性'one'为零,属性'two'为1,则模型无效.但是当我做:

Model.create(:one => 1, :two => 0).valid?
Run Code Online (Sandbox Code Playgroud)

单元测试返回true!为什么?

validates :one, :two, :presence => true, :if => :if condition_testing?

def condition_testing?
    !(one == 0 && two == 1)
end
Run Code Online (Sandbox Code Playgroud)

validation activerecord ruby-on-rails ruby-on-rails-3 rails-activerecord

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

Rails使用逻辑运算符搜索ActiveRecord

我想知道在Rails中解析文本查询的最佳方法是什么,允许用户包含逻辑运算符?

我希望用户能够输入其中任何一个或等效的:

# searching partial text in emails, just for example
# query A
"jon AND gmail" #=> ["jonsmith@gmail.com"]

# query B
"jon OR gmail" #=> ["jonsmith@gmail.com", "sarahcalaway@gmail.com"]

# query C
"jon AND gmail AND smith" #=> ["jonsmith@gmail.com"]
Run Code Online (Sandbox Code Playgroud)

理想情况下,我们可以用括号来表示更复杂的操作顺序,但这不是必需的.

是否有宝石或图案支持这个?

ruby activerecord ruby-on-rails rails-activerecord

11
推荐指数
1
解决办法
931
查看次数

sql嵌套的case语句

有没有人知道这个嵌套的select语句有什么问题?它抱怨失踪)但我无法理解为什么它不起作用(我已经把声明的其他部分留下了)

Select
(CASE WHEN REQUESTS.grade_id = 1 THEN
      (CASE WHEN  ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes'
           ELSE 'No'
      END)
 ELSE CASE WHEN REQUESTS.grade_id = 2 THEN
      (CASE ((date_completed-date_submitted)*24*60) <=120 THEN 'Yes'
           ELSE 'No'
      END) 
 ELSE CASE WHEN REQUESTS.grade_id = 3 THEN
     (CASE ((date_completed-date_submitted)*24*60)<=14400 THEN 'Yes'
          ELSE 'No'
     END)
 END)in_SLA
Run Code Online (Sandbox Code Playgroud)

如果我这样做

    Select
       (CASE WHEN REQUESTS.grade_id = 1 THEN
           (CASE WHEN  ((date_completed-date_submitted)*24*60)<=30 THEN 'Yes'
               ELSE 'No'
            END)
       END) in_sla
Run Code Online (Sandbox Code Playgroud)

它工作正常!

任何帮助深表感谢

中号

对不起,我错过了嵌套案件中的呐喊

sql oracle case

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

查询数组列是否包含一个或多个值

我有一个Rails 5应用程序,带有PostgreSQL 9.6数据库.

应用程序具有Report模型,具有department_ids数组字段,其定义schema.rb如下:

t.integer "department_ids", default: [], array: true
Run Code Online (Sandbox Code Playgroud)

我需要编写一个返回报表行的查询,其中department_ids列包含一组或多组给定的department_id.

我目前的解决方法是在Ruby中执行以下操作:

department_ids = [2, 5]

reports = Report.all.select do |report|
  (report.department_ids & department_ids).any?
end
Run Code Online (Sandbox Code Playgroud)

然而,使用select具有返回的缺点Array而不是ActiveRecord::Relation,这意味着我需要将过滤后的结果水合回到ActiveRecord::Relation对象中.

Report.where(id: reports.map(&:id))
Run Code Online (Sandbox Code Playgroud)

我想避免这一步,并在一个查询中处理这一切.

如何用Active Record编写这样的查询?

arrays postgresql activerecord ruby-on-rails rails-activerecord

10
推荐指数
1
解决办法
2706
查看次数

委托has_many关联方法忽略预加载

是否可以将一个方法委托给has_manyrails中的关联,并且仍然按照demeter定律保存该关联上的预加载数据?目前在我看来,你被迫选择其中一个.即:通过NOT委托保留预加载的数据,或丢失预加载的数据和委托.

示例:我有以下两个模型:

class User < ApplicationRecord
  has_many :blogs

  delegate :all_have_title?, to: :blogs, prefix: false, allow_nil: false

  def all_blogs_have_title?
    blogs.all? {|blog| blog.title.present?}
  end
end


class Blog < ApplicationRecord
  belongs_to :user

  def self.all_have_title?
    all.all? {|blog| blog.title.present?}
  end
end
Run Code Online (Sandbox Code Playgroud)

注意:这User#all_blogs_have_title?与委托方法完全相同all_have_title?.

根据我的理解,以下内容违反了德米特定律.但是:它维护您的预加载数据:

user = User.includes(:blogs).first
  User Load (0.1ms)  SELECT  "users".* FROM "users" ORDER BY "users"."id" ASC LIMIT ?  [["LIMIT", 1]]
  Blog Load (0.1ms)  SELECT "blogs".* FROM "blogs" WHERE "blogs"."user_id" = 1
  => #<User id: 1, name: "all yes", …
Run Code Online (Sandbox Code Playgroud)

ruby activerecord ruby-on-rails associations rails-activerecord

10
推荐指数
1
解决办法
816
查看次数