gpt4 book ai didi

使用 Ruby 进行 MySQL CASE SELECT

转载 作者:行者123 更新时间:2023-11-29 07:22:39 24 4
gpt4 key购买 nike

我正在尝试重新创建我在 Sequel Pro 中成功实现的 CASE SELECT;所有这些都使用 MySQL。

以下是我的 SQL 查询:

SELECT company_db.location.id AS "Id",
company_db.location.name AS "Name",
CASE WHEN company_db.location.id = 8 THEN "NY"
WHEN company_db.location.id = 37 THEN "ATL"
ELSE NULL END AS "Location Code"
FROM company_db.location
WHERE (company_db.location.id = 8 OR company_db.location.id = 37);

以下是我的整个 Query.rb 文件:

#!/usr/local/bin/ruby
require "mysql"

mysql = Mysql.init()
mysql = Mysql.new("127.0.0.1", "username", "password", "company_db")

results = mysql.query("SELECT company_db.location.id,
company_db.location.name,
CASE WHEN company_db.location.id = 8 THEN "NY"
WHEN company_db.location.id = 37 THEN "ATL"
ELSE NULL END
FROM company_db.location
WHERE (company_db.location.id = 8 OR company_db.location.id = 37);")
results.each {|row|; print row;}

最后,以下是我在命令提示符中收到的错误:

le-iMac:Workspace jerry$ ruby Query.rb
Query.rb:14: syntax error, unexpected tIDENTIFIER, expecting ')'
CASE WHEN company_db.location.id = 8 THEN "NY"
^
caseSel.rb:15: syntax error, unexpected tIDENTIFIER, expecting end-of-input
WHEN company_db.location.id = 37 THEN "ATL"
^

当我删除该 CASE 语句并从 company_db 中删除 SELECT 时,它工作得很好。

我试图在这里完成的CASE SELECT的正确语法是什么?

最佳答案

当您使用 时,请将查询中的 "NY" 替换为 'NY',对于 "ATL" 也应替换为 'NY'你结束了你的sql查询字符串。

关于使用 Ruby 进行 MySQL CASE SELECT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35584074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com