小编a_h*_*ame的帖子

包含数千列的数据库表

我编写了一个简单的Django应用程序,它显示了表中的值.该表非常简单,与其他表没有关系,所有值都是整数:

patientID    region1 region2 regionN region200000
patient1          30      23       9           14
patient2           1      12       9           22
patientN          23      21      12            8
Run Code Online (Sandbox Code Playgroud)

唯一的问题是我有~200 000个基因组区域 - 这是固定数字(只有患者数量在增加).

这样的桌子最好的数据库系统是什么?这些数据是超级结构化的,简单而同质的 - 非常适合SQL,但建议它应该是noSQL?

最好有一个表有200000列,然后有N个表(N个患者)有200000行.

database-design

0
推荐指数
1
解决办法
333
查看次数

LIKE子句应用于存储过程中的DB类型

我创建了以下类型:

CREATE TYPE dbo.expressions
AS TABLE
(
  expression varchar(255)
);
GO
Run Code Online (Sandbox Code Playgroud)

在存储过程中,我如何使用我收到的n个类型,并且每个类型都使用带有like子句的select?

在"编程"(和伪代码)方面,将是这样的:

for each expression in expressions
rows+=select * from table where table.field LIKE '%' + expression[i] + '%'
Run Code Online (Sandbox Code Playgroud)

我总是可以从我的API多次调用SP,但我想知道这是否可行,甚至更快,在SQL方面做.

sql t-sql sql-server

0
推荐指数
1
解决办法
38
查看次数

如何使用rownum从表中选择第n行

SELECT emp_id INTO high_payed_emp_id
FROM (SELECT emp_id  from cursor_table ORDER BY emp_salary DESC)
WHERE rownum = 1;
Run Code Online (Sandbox Code Playgroud)

我想获得最大的emp_id.付费员工 错误消息:ORA-00905:缺少关键字

sql oracle plsql greatest-n-per-group

0
推荐指数
1
解决办法
79
查看次数

列名在order by子句中使用时出现模糊错误

我在下面遇到过一个问题

SELECT ColumnName1,* 
FROM TableName 
WHERE ColumnName = 'XXXXXX'
ORDER BY ColumnName1
Run Code Online (Sandbox Code Playgroud)

从上面的查询中,它会将错误抛出为不明确的列名列Column1.

即使我没有使用数字表,它也会抛出这样的错误.任何人都能说出这背后的原因.

sql t-sql sql-server

0
推荐指数
1
解决办法
95
查看次数

如果有多个值 (TSQL)

我是 SQL 新手,我不明白这种语言是如何工作的,我有一个代码:

if (select Zarobki from PRACOWNICY) < 3000
    update PRACOWNICY set Zarobki = Zarobki * 2
else
    update PRACOWNICY set Zarobki = Zarobki / 2
Run Code Online (Sandbox Code Playgroud)

如何比较表格中的多个值?我认为 select 像循环语句一样工作

t-sql sql-server if-statement

0
推荐指数
1
解决办法
84
查看次数

是否可以在sql-server中声明没有@符号的变量?

我有这种情况,我不能在sql中使用@标志.但是我想声明变量.有没有人知道是否有任何其他方式来声明它们而不使用@符号?

t-sql sql-server variables

0
推荐指数
1
解决办法
439
查看次数

我无法在 pgAdmin 中创建新服务器

我正在尝试在我的 ubuntu 18.04 上的 pgAdmin 中创建本地服务器,但出现此错误。

这是错误 这是错误

这是我的设置

这是我的设置

postgresql pgadmin-4

0
推荐指数
1
解决办法
4500
查看次数

在Postgresql LIKE中使用下划线

我正在尝试在postgresql LIKE中使用下划线执行对特定数据模式的搜索,但它似乎不起作用。

客户端的版本为9.2.21,服务器的版本为9.4.12。

例如,

select * 
from table1 
where f1 like '___'
Run Code Online (Sandbox Code Playgroud)

即使表中明显存在匹配项,也不会返回任何内容(即,存在具有匹配值的数据),例如f1 = '123'

我想知道是否有系统配置/参数会影响此行为?

还是可以用其他方式解释一下?

sql postgresql padding sqldatatypes sql-like

0
推荐指数
1
解决办法
70
查看次数

如何为整个查询设置架构

我正在具有多个架构(用户)的数据库中工作-在SQL DEVELOPER(ORACLE)中

我想最初为查询设置一个架构,这样就无需在写入查询的每个表之前都包括架构名称。

寻找:

USE SCHEMA_NAME;
SELECT * FROM TABLE;
Run Code Online (Sandbox Code Playgroud)

代替:

SELECT * FROM SCHEMA_NAME.TABLE;
Run Code Online (Sandbox Code Playgroud)

sql oracle

0
推荐指数
1
解决办法
70
查看次数

更改系统日期建议

我们有一个新的软件包,该软件包使该公司可以编写SQL代码放在Query门户上。我们有一些报告希望将前一天作为选择之一进行编码。如果报表是在星期一运行的,我们要自动选择上一个星期五作为选择日期,我们有ORACLE SQL DEVELOPER 4.1。我们尝试使用的代码如下:

SELECT ALERT_CD,ALERT_KEY,CHG_DTM,
CASE  
WHEN TO_CHAR(SYSDATE,'fmday')='sunday' 
THEN SYSDATE-2 
WHEN TO_CHAR(SYSDATE,'fmday')='monday' 
THEN SYSDATE-3 
ELSE SYSDATE-1 
END "change" 
FROM SG00400T 
WHERE ALERT_CD='AUTO'
and CHG_DTM >= to_date('SYSDATE', 'mm/dd/yyyy')
Run Code Online (Sandbox Code Playgroud)

我们收到的错误:

SELECT ALERT_CD,ALERT_KEY,CHG_DTM,
CASE  
WHEN TO_CHAR(SYSDATE,'fmday')='sunday' 
THEN SYSDATE-2 
WHEN TO_CHAR(SYSDATE,'fmday')='monday' 
THEN SYSDATE-3 
ELSE SYSDATE-1 
END "change" 
FROM SG00400T 
WHERE ALERT_CD='AUTO'
and CHG_DTM >= to_date('SYSDATE', 'mm/dd/yyyy')
Run Code Online (Sandbox Code Playgroud)

CHG_DTM是日期/时间字段,可能是我们目前尚不完全了解的问题的一部分。任何帮助将不胜感激。

sql oracle

0
推荐指数
1
解决办法
35
查看次数