我有一个叫做玩家的桌子如下:
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查询添加两个新列来改变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查询有什么问题?
赤道几内亚和多米尼加共和国的名字都有所有的元音(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'。它虽然有效,但在作弊
我使用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中执行此操作吗?提前致谢.
我正在开发一个 Java 应用程序。我已使用 JDBC 连接连接到 Oracle DB 并获取它的元数据。我从元数据中获取表、列、视图等信息。
现在我想从元数据中分别获取应用程序中表和列的注释。我怎样才能获取这些详细信息?
我有下一个代码:
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""
请帮忙.谢谢.
我正在寻找一种方法来调整以下结果......
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 ...已经无法弄清楚如何实现这种旋转.有什么建议?
我正在使用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 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 停止执行,导致补丁更新不完整。
我能做些什么?
我们有一个登录触发器,它通过 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,但是没有用......
允许本地登录有什么技巧吗?