小编Ank*_*pai的帖子

使用in子句选择"按字段对查询"

我有一个叫做玩家的桌子如下:

First_Id    Second_Id     Name
1           1             Durant
2           1             Kobe
1           2             Lebron
2           2             Dwight
1           3             Dirk
Run Code Online (Sandbox Code Playgroud)

我希望在这个表上写一个select语句来检索其第一个id和第二个id匹配一堆指定的第一个和第二个id的所有行.

因此,例如,我希望选择第一个和第二个ID如下的所有行:(1,1),(1,2)和(1,3).这将检索以下3行:

First_Id    Second_Id    Name
1           1            Durant
1           2            Lebron
1           3            Dirk
Run Code Online (Sandbox Code Playgroud)

是否可以以下列方式编写选择查询:

SELECT * 
FROM PLAYERS
WHERE (First_Id, Second_Id) IN ((1,1), (1,2) and (1,3))?
Run Code Online (Sandbox Code Playgroud)

如果有一种方法可以编写类似于上面的SQL我想知道.有没有办法为IN子句指定表示多行的值,如图所示.

我正在使用DB2.

sql database db2 in-clause

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

ALTER TABLE语法

我试图通过SQL查询添加两个新列来改变Oracle数据库中的表,如下所示:

ALTER TABLE Members 
      ADD annual_dues NUMBER(5,2) not null DEFAULT '52.50', 
      ADD payment_date DATE;
Run Code Online (Sandbox Code Playgroud)

执行它时,我收到如下错误:

SQL错误:ORA-30649:缺少DIRECTORY关键字

我玩过它但没有帮助.SQL查询有什么问题?

sql oracle

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

如果在ORACLE中,ELSIF V/S ELSE

在甲骨文中这两者有所不同.

elsif

else if
Run Code Online (Sandbox Code Playgroud)

两者都执行正常,没有错误.

这两者有什么区别.

oracle oracle11g

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

SQL查询:显示所有元音的名称

赤道几内亚和多米尼加共和国的名字都有所有的元音(a,e,i,o,u)。它们不算数,因为名称中有多个单词。

Find the country that has all the vowels and no spaces in its name?
Run Code Online (Sandbox Code Playgroud)

您可以使用短语名称NOT LIKE'%a%'从结果中排除字符。显示的查询未命中巴哈马和白俄罗斯等国家/地区,因为它们至少包含一个“ a”

SELECT name
FROM world
WHERE name LIKE '%u' 
      and name LIKE '%a' 
      and name LIKE '%o' 
      and name LIKE '%i'
      and name LIKE '%e'
      and name NOT LIKE '% %'
Run Code Online (Sandbox Code Playgroud)

这是行不通的。正确的答案是“莫桑比克”

我将其硬编码为“其中的名称类似于'Moz'。它虽然有效,但在作弊

mysql sql

7
推荐指数
1
解决办法
7665
查看次数

如何在sap hana表中连接多行的字段

我使用SAP-HANA数据库.我有一个简单的2列表,其列为id,name.行是这些:

1 - tom
1 - harry
1 - jack
2 - larry
Run Code Online (Sandbox Code Playgroud)

我想按id对行进行分组,并将名称连接到一个字段中,从而获得:

1 - tom, harry, jack
2 - larry
Run Code Online (Sandbox Code Playgroud)

能告诉我如何在sap-hana中执行此操作吗?提前致谢.

sql hana

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

如何从 Oracle DB 的元数据中获取表和列的注释?

我正在开发一个 Java 应用程序。我已使用 JDBC 连接连接到 Oracle DB 并获取它的元数据。我从元数据中获取表、列、视图等信息。

现在我想从元数据中分别获取应用程序中表和列的注释。我怎样才能获取这些详细信息?

oracle metadata database-metadata

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

选择行号的mysql更新

我有下一个代码:

SET @rownum=0;
UPDATE product_images AS t, (SELECT @rownum:=@rownum+1 rownum, id, rel 
FROM product_images WHERE product_id='227') AS r
SET t.rel = r.rownum
WHERE t.id = r.id
Run Code Online (Sandbox Code Playgroud)

这在phpmyadmin中工作得很好

但是......下一个代码(女巫实际上是相同的)但放在PHP代码中

mysql_query ("
SET @rownum=0; 
UPDATE product_images AS t, 
(SELECT @rownum:=@rownum+1 rownum, product_images.* 
FROM product_images WHERE product_id='$pid') AS r
SET t.rel = r.rownum WHERE t.id = r.id ") or die(mysql_error());
Run Code Online (Sandbox Code Playgroud)

GIVES ME ERROR:""你的SQL语法有错误; 检查与MySQL服务器版本对应的手册,以便在'UPDATE product_images AS t附近使用正确的语法(SELECT @rownum:= @ rownum + 1 rownum,product_images.*'at line 1""

请帮忙.谢谢.

mysql sql-update

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

在Sybase SQL查询中进行透视?

我正在寻找一种方法来调整以下结果......

ID | Group_Level | Group_Values
1  | Division    | Value 1 
2  | Department  | Value 2
3  | Class       | Value 3
Run Code Online (Sandbox Code Playgroud)

进入以下结构....

ID | Division | Department | Class
1  | Value 1  | Value 2    | Value 3    
2  | Value 1  | Value 2    | Value 3
Run Code Online (Sandbox Code Playgroud)

列数是固定的(它将始终为division/department/class).该查询适用于Sybase ...已经无法弄清楚如何实现这种旋转.有什么建议?

sql sybase pivot

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

转向Oracle 10g

我正在使用oracle 10g.我有临时表TEMP.

TEMP具有以下结构: -

USER COUNT TYPE
---- ----- ----
   1    10   T1
   2    21   T2
   3    45   T1
   1     7   T1
   2     1   T3
Run Code Online (Sandbox Code Playgroud)

我需要一个查询,它将显示所有类型都有列名,类型可以有任何值T1, T2,..Tn,结果将如下: -

USER T1 T2 T3
---- -- -- --
   1 17  0  0
   2  0 21  1
   3 45  0  0
Run Code Online (Sandbox Code Playgroud)

和用户列将显示所有用户,T1, T2列将显示类型的总数.

sql oracle pivot oracle10g

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

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

Oracle SQL Developer:运行脚本,出现错误时继续

我正在使用 SQL Developer 20.2 运行 Oracle 12c 数据库更新的批处理脚本。我将脚本文件拖放到编辑器窗口中,然后单击“运行脚本 (F5)”按钮。由于某种原因,如果脚本遇到错误(DDL 语句 - 没有显式抛出 PL/SQL 函数),程序就会停止。

例子:

drop sequence my_seq;  -- sequence may not exist yet
create sequence my_seq
  start with 1
increment by 1
    minvalue 1
    maxvalue 9999999999
       cache 100
       cycle;
Run Code Online (Sandbox Code Playgroud)

由于序列不存在,该drop语句可能会出错。SQL*Plus 忽略该错误并继续运行脚本,但 SQL Developer 停止执行,导致补丁更新不完整。

我能做些什么?

oracle oracle-sqldeveloper oracle12c

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

通过 IP 问题限制登录

我们有一个登录触发器,它通过 IP 限制访问:

IF UPPER(v_username) = 'CDEPROD' THEN
   IF SYS_CONTEXT('USERENV', 'IP_ADDRESS') NOT IN
       ('192.168.170.52',
        '192.168.170.40',
        '192.168.170.43',
        '192.168.170.54',
        '192.168.170.53',
        '192.168.170.58')
      OR SYS_CONTEXT('USERENV', 'IP_ADDRESS') IS NULL THEN
      RAISE_APPLICATION_ERROR(-20001, 'Can not log in from this IP address (' || SYS_CONTEXT('USERENV', 'IP_ADDRESS') || ')');
   END IF;
END IF;
Run Code Online (Sandbox Code Playgroud)

所以,触发器工作。但是,从本地,我无法以 CDEPROD 用户身份登录,它会引发应用程序错误。我想试试 127.0.0.1,但是没有用......

允许本地登录有什么技巧吗?

oracle triggers

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