小编Luk*_*der的帖子

在sql in子句中使用元组

给定这样的数据库:

BEGIN TRANSACTION;
CREATE TABLE aTable (
a STRING,
b STRING);
INSERT INTO aTable VALUES('one','two');
INSERT INTO aTable VALUES('one','three');
CREATE TABLE anotherTable (
a STRING,
b STRING);
INSERT INTO anotherTable VALUES('one','three');
INSERT INTO anotherTable VALUES('two','three');
COMMIT;
Run Code Online (Sandbox Code Playgroud)

我想做一些事情

SELECT a,b FROM aTable
WHERE (aTable.a,aTable.b) IN
(SELECT anotherTable.a,anotherTable.b FROM anotherTable);
Run Code Online (Sandbox Code Playgroud)

得到答案'一','三',但我得到"接近",":语法错误"

这有可能在SQL的任何风格?(我正在使用sqlite)

我是否犯了严重的概念错误?或者是什么?

sql row-value-expression

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

MySql使用over子句的正确语法

使over子句在mysql中工作的正确语法是什么?

我希望看到每个用户发送的总短信数,而不用group by子句对其进行分组.

SELECT 
    username, 
    count(sentSmsId) OVER (userId) 
FROM 
    sentSmsTable,
    userTable
WHERE
    userId = sentUserId;
Run Code Online (Sandbox Code Playgroud)

mysql sql window-functions

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

如何使用SQLite模拟LPAD/RPAD

我很好奇如何以最一般的方式正式模拟SQLite的RPAD和LPAD函数.目标是能够做到

LPAD(column, character, repeat)
RPAD(column, character, repeat)
Run Code Online (Sandbox Code Playgroud)

对于非固定表列column,character,repeat.如果character并且repeat是已知的常数,那么这将是一个好的,可行的解决方案:

但是如果上面的内容应该像这样执行呢:

SELECT LPAD(t.column, t.character, t.repeat) FROM t
SELECT LPAD(t.column, some_function(), some_other_function()) FROM t
SELECT LPAD(t.column, :some_bind_variable, :some_other_bind_variable) FROM t
Run Code Online (Sandbox Code Playgroud)

如何LPAD通常模拟此功能?我迷失了各种可能性:

一个相关的问题:

sql sqlite emulation padding

12
推荐指数
3
解决办法
9776
查看次数

外键约束会影响Oracle中的查询转换吗?

我有这样的情况:

create table a(
  a_id number(38) not null,
  constraint pk_a primary key (id)
);

create table b(
  a_id number(38) not null
);

create index b_a_id_index on b(a_id);
Run Code Online (Sandbox Code Playgroud)

现在b.a_id实际上是指外键引用a.a_id,但它没有正式声明.显然,这应该是出于诚信原因.但是,外键约束是否也会改善一般情况下或特定情况下的连接性能?如果是,对于什么类型的查询转换?

是否有关于此主题的相关文档?

我正在使用Oracle 11g(11.2.0.2.0)

oracle optimization performance cost-based-optimizer sql-execution-plan

12
推荐指数
1
解决办法
4673
查看次数

通过HTTPS下载的Android 2.2和2.3 PDF文件似乎已经破裂

我一直在疯狂地将PDF下载到移动设备上.这是下一个疯狂,可以在Android 2.2和2.3上观察到.我无法在iPhone或其他设备上重现此问题,也无法在Firefox或其他桌面浏览器上重现此问题.

我正在通过HTTP下载PDF,它工作得很好.然后我通过HTTPS下载相同的PDF并且下载没有完成(文件名丢失):

下载未完成,文件名丢失

我正在使用这些HTTP标头(以及其他与此无关的标头):

Content-Disposition: attachment; filename="abc.pdf"
Content-Type: application/pdf
Run Code Online (Sandbox Code Playgroud)

更改Content-Dispositioninline或完全删除它也无济于事.删除Content-Type将导致在浏览器窗口中显示原始二进制数据.

注意:我已经发现了与不受信任的SSL证书相关的问题,但这似乎不是唯一的问题.所以我真的在寻找另一种解释.

欢迎任何想法!

pdf https android webkit download

12
推荐指数
1
解决办法
5753
查看次数

为派生表计算SQL Server ROW_NUMBER()OVER()

在一些其他数据库(例如DB2或Oracle ROWNUM)中,我可以省略ORDER BY排名函数子句中的OVER()子句.例如:

ROW_NUMBER() OVER()
Run Code Online (Sandbox Code Playgroud)

当与有序派生表一起使用时,这尤其有用,例如:

SELECT t.*, ROW_NUMBER() OVER()
FROM (
    SELECT ...
    ORDER BY
) t
Run Code Online (Sandbox Code Playgroud)

如何在SQL Server中进行模拟?我发现人们使用这个 技巧,但这是错误的,因为它对于派生表中的顺序会表现得非确定:

-- This order here ---------------------vvvvvvvv
SELECT t.*, ROW_NUMBER() OVER(ORDER BY (SELECT 1))
FROM (
    SELECT TOP 100 PERCENT ...
    -- vvvvv ----redefines this order here
    ORDER BY
) t
Run Code Online (Sandbox Code Playgroud)

一个具体的例子(可以在SQLFiddle看到):

SELECT v, ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) RN
FROM (
  SELECT TOP 100 PERCENT 1 UNION ALL …
Run Code Online (Sandbox Code Playgroud)

sql t-sql sql-server window-functions ranking-functions

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

如何获取Java类引用的初始化值

我有一个Class<?>任意类型的参考.如何获得该类型的初始化值?是否有一些库方法或我必须自己滚动,如:

Class<?> klass = ...
Object init = 
    (klass == boolean.class)
  ? false
  : (klass == byte.class)
  ? (byte) 0
  ...
  : (Object) null;
Run Code Online (Sandbox Code Playgroud)

用例是我有一个任意java.lang.reflect.Method引用,我想用任意参数调用(对于某些测试),这可能不是null在参数是基本类型的情况下,所以我需要指定该类型的某个值.

java reflection initialization default-value

12
推荐指数
2
解决办法
396
查看次数

SQL ANY和SOME关键字在所有SQL方言中都是同义词吗?

在Postgres中,ANY并且SOME在谓词表达式的右侧使用时是同义词.例如,这些是相同的:

column = ANY (SELECT ...)
column = SOME (SELECT ...)
Run Code Online (Sandbox Code Playgroud)

这在此处记录:

http://www.postgresql.org/docs/9.1/static/functions-subquery.html#FUNCTIONS-SUBQUERY-ANY-SOME

我已观察ANYSOME至少得到这些SQL DBMS的支持:

  • DB2
  • 德比
  • H2
  • HSQLDB
  • 安格尔
  • MySQL的
  • 神谕
  • Postgres的
  • SQL Server
  • Sybase ASE
  • Sybase SQL Anywhere

我可以安全地假设所有这些方言(以及其他方言)都作为同义词处理ANY,SOME或者在任何/某些DBMS中两个关键字之间是否存在细微差别?

我在SQL92定义中找到了这个:

<quantifier> ::= <all> | <some>
<all> ::= ALL
<some> ::= SOME | ANY
Run Code Online (Sandbox Code Playgroud)

这并没有说出ANY和的语义SOME.稍后在文档中,仅<some>引用,而不是两个关键字.我怀疑在NULL处理方面可能存在细微差别,例如,至少在一些DBMS中.任何/某些指向明确声明的指针是否可以被假定是值得欢迎的.

sql subquery any sql-standards

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

如何在服务器端Java中使用像D3.js或Raphaël这样的JavaScript图表库

我想将D3.js(或者Raphaël)用于使用XSL-FO和Java的后端生成的报告.应该使用这些JavaScript库有以下几个原因:

  1. 它们呈现的图表比我从Java库(IMO)看到的图表更漂亮
  2. 它们支持SVG和PNG(据我所知),这是XSL-FO所需要的
  3. 它们也将用于应用程序的前端部分.使用Java在后端重用它们可以减少开发人员学习曲线和代码库占用空间.

所以使用任何类似的Java库是一个不太有利的选择.

现在,将D3.js与Java一起使用的最直接的方法是使用像selenium这样的繁重工具来呈现虚拟HTML页面并在其中执行JavaScript.但这似乎对我来说太过分了.

有没有更简单的方法可以在同一个Java进程中直接执行这种JavaScript?我问,因为D3.js被设计为在HTML文档的上下文中工作.我不确定是否可以使用Rhino或其他Java脚本实现

javascript java raphael d3.js

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

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