我想执行一些这样的查询:
SELECT
folders.*,
(SELECT
files.filename
FROM
files
WHERE
files.folder_id = folders.id
)
as files
FROM
folders
ORDER BY
files[column name of filename]
Run Code Online (Sandbox Code Playgroud)
子查询可能会给出多于1个结果,因此我想将结果加入到单个列文件名中.
我正在使用Postgres.我添加了Rails作为标记,因为你可能会建议一些可以处理这个问题的Rails魔法.
我在SQL中编写此查询:
select MAX(AVG(salary) ) from employees group by department_id;
Run Code Online (Sandbox Code Playgroud)
首先,我会得到小组department_id,但接下来会发生什么?
我在 sql 代码中找到了这一行:
@../../sql_scripts/create_tables.sql
Run Code Online (Sandbox Code Playgroud)
它有什么作用?我知道这@@file.sql意味着 file.sql 正在运行,并且@可以在我们以后想要提供参数值时使用,但在这里我@后面跟了一个文件名。我知道有一个类似的问题,但它只涵盖@查询。
只是查看我的Rails 4应用程序的database.yml文件,发现生产数据库没有任何设置 - 只有测试和开发数据库.
我实际上没有任何问题,但希望通过发布此问题来避免其他潜在问题.
在本地我使用PG数据库,我也使用PG数据库在Heroku上托管我的应用程序.
我是否应该在yml中为生产数据库文件设置一些设置,因为我真的不确定?
当我在Sql Developer中运行下面的脚本时,它正确地创建了我的全局临时表,但是当我运行liquibase脚本时,由于"无效字符"而失败.谁知道为什么会失败?
在Sql Developer中(作品)
CREATE GLOBAL TEMPORARY TABLE TransactionsToMove(
TransactionId NUMBER(38,0) NOT NULL,
PRIMARY KEY (TransactionId))
ON COMMIT DELETE ROWS;
Run Code Online (Sandbox Code Playgroud)
Liquibase xml(以下堆栈跟踪失败)
<changeSet id="createGlobalTemporaryTableForTransactionsMove" author="me" >
<preConditions onFail="MARK_RAN">
<not>
<tableExists tableName="TransactionsToMove"/>
</not>
</preConditions>
<sql splitStatements="false" endDelimiter=";"><![CDATA[
CREATE GLOBAL TEMPORARY TABLE TransactionsToMove(
TransactionId NUMBER(38,0) NOT NULL,
PRIMARY KEY (TransactionId))
ON COMMIT DELETE ROWS;
]]>
</sql>
</changeSet>
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
SEVERE 2013-11-14 09:10:liquibase: Error executing SQL CREATE GLOBAL TEMPORARY TABLE TransactionsToMove(
TransactionId NUMBER(38,0) NOT NULL,
PRIMARY KEY (TransactionId))
ON COMMIT …Run Code Online (Sandbox Code Playgroud) DECLARE
string_of_5_chars VARCHAR2(5);
BEGIN
BEGIN
string_of_5_chars := 'Steven';
EXCEPTION
WHEN value_error THEN
RAISE no_data_found;
WHEN no_data_found THEN
dbms_output.Put_line ('Inner block');
END;
EXCEPTION
WHEN no_data_found THEN
dbms_output.Put_line ('Outer block');
END;
Run Code Online (Sandbox Code Playgroud)
答案说输出将是"外部块",有人可以解释为什么内部块不会被执行吗?oracle中异常的优先级是什么?
Ruby 2.2.3,Rails 4.2.1
我有很多字符串数组,它们定义为在整个应用程序中使用的常量。它们是各种不同的ISO国家/地区代码,语言代码之类的东西,所以是2到4个字符,每个数字都有数百个唯一值。
不同的数组是这些数组的集合,因此NORTH_AMERICA_COUNTRY_CODES可能是一打这样的国家代码的数组,AFRICA_COUNTRY_CODES可能是大约60的数组。它们很多重叠(例如,英联邦国家的不同版本)。
将该数组与其他国家/地区代码的任意数组进行比较,以进行逻辑比较,例如“从非洲减去此国家/地区列表”。
所以我想知道在生成这些常量时,是否应该冻结数组中的字符串,因此,而不是:
WORLD_COUNTRIES = Countries.pluck(:country_code).freeze
Run Code Online (Sandbox Code Playgroud)
... 也许 ...
WORLD_COUNTRIES = Countries.pluck(:country_code).map{|c| c.freeze}.freeze
Run Code Online (Sandbox Code Playgroud)
有没有一种量化潜在利益的方法?
我考虑使用符号数组而不是字符串数组,但是这些符号数组所使用的任意数组都存储在PostgreSQL文本数组中,似乎我需要对这些列进行序列化,或者覆盖getter和setter方法在字符串数组和符号数组之间更改值。啊。
测试结果,其中我尝试对三种情况进行基准测试:
对方法论或解释的任何想法都深表感谢。我不确定前两个结果之间的相似性是否表明它们在所有方面都是相同的,但是我希望能够直接指出内存分配差异的任何事物。
脚本:
require 'benchmark'
country_list = ["AD", "AE", "AF", "AG", "AI", "AL", "AM", "AN", "AO", "AQ", "AR", "AS", "AT", "AU", "AW", "AX", "AZ", "BA", "BB", "BD", "BE", "BF", "BG", "BH", "BI", "BJ", "BL", "BM", "BN", "BO", "BQ", "BR", "BS", "BT", "BV", "BW", "BY", "BZ", "CA", "CC", "CD", "CF", "CG", "CH", "CI", "CK", "CL", "CM", …Run Code Online (Sandbox Code Playgroud) 我41293在oracle 有约会,我怎样才能以DD/MON/YYYY格式显示它?
如果我复制粘贴在Excel中并将其更改为日期格式,它显示01/19/13
请帮助我.
我想了解以下两个陈述之间的区别:
insert into table_name values (,,,,,);
Run Code Online (Sandbox Code Playgroud)
和
insert into table_name values (,,,,,);
commit;
Run Code Online (Sandbox Code Playgroud) 我有SQL UNION,其中该语句的第二部分是代表TOTALS的行.我怎样才能将TOTALS总是显示为最后一行?