我有两个SELECT查询是用MySQL编写的
$sql = 'SELECT Name FROM category WHERE CategoryID = '.$id;
和
$sql = "SELECT * FROM sub_category WHERE ParentID = $id ORDER BY OrderIndex";
到目前为止,我必须将这两个查询转换为Oracle PL/SQL,我的想法是将这两个状态合并为一个,到目前为止,我编写了查询,但我有点困惑,因为我在PL/SQL中是乞丐。
SELECT
c.Name,
sc.Name as SubCa
嘿,在PL/SQL中,请考虑以下查询:
update cards s set s.column1= null, s.column2= null
where s.column3= in_column3
returning s.column1,s.column2
into v_column1,v_column2;
问题是,这会将新记录放入变量中,这些变量为空,但我对更新前的值感兴趣。
有没有什么方法可以使用RETURNING子句实现这一点?
我正在使用hibernate连接到一个项目的数据库。
我想有一个查询,用某种语言的描述和名称从我的数据库中取出产品。我的参数是该语言的缩写名称,因此首先我必须获取该语言的id,然后获取所需语言的文本。
我已经尝试了以下hql查询,但没有成功。
from Products as p
where p.productlanguages.languages.shortname like 'eng'
这是数据应该来自的数据库部分的图像:
我用sql查询得到了想要的结果,但是我似乎不能让它在hibernate中工作。但我更喜欢在hql中做这件事。
SELECT * FROM prod
我需要连接两个表(Person和PersonLine)。结果应该包含Person表中的id和name列,以及每个id的PersonLine表中personlineid列的计数。但是sql查询返回所有personlineid的计数。有人能帮助形成sql吗。
人:
ID NAME AGE
100 John 25
101 James 30
102 Janet 35
PersonLine:
ID NAME PERS
我选了三张桌子
SELECT pl."name" as "name", COALESCE(count(pb.*),0) as "pb_count"
FROM charging_station_places pl
LEFT OUTER JOIN charging_stations st ON st."placeId" = pl."id"
LEFT OUTER JOIN power_banks pb ON pb."chargingStationId" = st."id"
WHERE p
我有一个具有多个联接的SQL语句。我希望两张表的IN声明都是这样:
SELECT
p.id, p.first_name as [First Name],
p.last_name as [Last Name]
FROM
tbl_person as p ,
tbl_person_languages as pl ,
tbl_person_skills As ccp
WHERE
pl.language_id in (12,14) AND
ccp.skill_id in (55)
GROUP BY
在选择id时,它不能等于0,值也不能是(null)。我写道:
WHERE id IS NOT NULL (+) and id not in ('0')
我有两个错误
错误(9,5):PL/ SQL :忽略SQL语句
错误(38,119):PL/ SQL : ORA-00933: SQL命令未正确结束我将其更改为:
WHERE id IS NOT NULL (+) and id is not ('0')
同样的错误也发生了。我应该写什么作为WHERE子句?
我知道我可以用插值来做这件事。我可以用占位符来做吗?
我得到了这个错误:
DBD::Pg::st execute failed: ERROR: invalid input syntax for integer: "{"22,23"}" at ./testPlaceHolders-SO.pl line 20.
对于此脚本:
#!/usr/bin/perl -w
use strict;
use DBI;
# Connect to database.
my $dbh = DBI->connect("dbi:Pg:dbname=somedb;hos
我收到以下错误:
Use of uninitialized value $_ in substitution (s///) at test.pl line 29, <$fh> line 2.
Use of uninitialized value $col in split at test.pl line 40, <$fh> line 2.
Use of uninitialized value $k in hash element at test.pl line 41, <$fh> line 2.
DBD::ODBC::st execute failed: [
我希望返回一个结果集,列出包含第一作者(按字母顺序排列的每本书)的一列所有书籍。
我有一个SQL查询,它返回所有的书籍,连接作者和按图书作者的名字订购,但是当我尝试按图书ID分组以删除副本时,这个查询就结束了.
SELECT
ct.entry_id AS SKU,
c.channel_title,
ct.title, ct.status,
bat.title AS author_title
FROM exp_store_products sp
JOIN exp_channel_titles ct ON ct.entry_id=sp.entry_id
LEFT JOIN exp_
如果满足某个条件,则必须从一个表中选择一个查询,如果条件不同,则必须从另一个查询中进行选择。
在我的例子中,如果我们在Database_A上,我需要从Database_A中选择,如果我们在Database_B上,我需要从Table_B中进行选择,但是条件可能是不同的。
我想做这样的事:
SELECT
COLUMN_1, COLUMN_2, ..., COLUMN_N
FROM
(if database is Database_A then Table_A
but if database is Database_B then from Table B
else
嗨,我正在用Oracle做一个函数,但是它给了我错误,我不知道为什么
下面是函数
CREATE OR REPLACE FUNCTION f_increment_salary15 (psueldo number)
return number
IS
v_ventas number;
valorretornado number;
BEGIN
v_ventas:=0;
valorretornado:=0;
SELECT ee.nombre, COUNT(ve.IdEmpleado) INTO v_ventas FROM empleado ee INNER J
在SQL Server Management Studio中,我有以下查询提供了预期的结果:
SELECT
u.DisplayName,
up.ColorPreferences,
SUM(rt.Score) AS Points,
COUNT(*) AS Plans,
MAX(pl.Created) AS MaxDate
FROM
[dbo].[Users] u
INNER JOIN
[dbo].[PlanLogs] pl ON u.Id = pl.UserId
INNER JOIN
[dbo].[ResourceTypes
我在一个表中有一些数据,看起来像这样。
ID KEY VAL
---- ----- -----
1 name Bob
1 age 30
1 gender male
2 name Susan
2 age 50
可以获得此查询的输出:
SELECT *
FROM my_table
WHERE id = 1;
..in一个XML格式,如下所示:
<DATA>
<NAME>Bob</NAME>
<AGE>30><
我有一个过程,我使用以下命令调用该过程
exec ot.selector('regions');
但是,我在这一行得到了错误:
select * from ot."||p_table_name||";
所以我试着做的程序是:
create or replace procedure ot.selector(p_table_name varchar2)
is
cursor cur is
select * from ot."||p_table_name||";
begin
for i in cur
l
我在Server和Oracle上都编码。
当我在Server中编码时,我使用了以下内容:
OPEN curUSERS;
CLOSE curUSERS;
DEALLOCATE curUSERS;
现在,当我在Oracle中编码时,我使用了以下内容:
OPEN curUSERS;
CLOSE curUSERS;
我在PL/SQL中看到了一个DEALLOCATE关键字,但是当我使用这个语句时
DEALLOCATE(curUSERS);
它抛出一个错误。我如何在PL/SQL中做同样的事情(去分配)?
我读了一些PL/SQL文档,我看到PL/SQL中的NULL是不确定的。
换言之:
x := 5;
y := NULL;
...
IF x != y THEN -- yields NULL, not TRUE
sequence_of_statements; -- not executed
END IF;
该语句不会计算为true,因为y的值未知,因此如果x != y,则未知。
除了上面提到的事实和如何在PL/SQL中处理这个问题之外,我找不到更多的信息。我想知道的是,这样的东西什么时候会有用?
我正在学习Impala sql,需要将sql查询转换为相对应的sql查询,如下所示:
select distinct t1.c1, t1.c2
from table1 t1
join table2 t2
on t2.c1=t1.c1 and (t2.c2 is null
or t2.c2 in (select c1 from table3
where 'some conditions')
是否可以将来自数据库的一个字段的输入与IN语句结合用于另一个查询。要点是,在IN中,我使用了几个逗号分隔的值:
SELECT id, name
FROM refPlant
WHERE id IN (SELECT cover
FROM meta_characteristic
WHERE id = 2);
子查询的字符串是:1735,1736,1737,1738,1739,1740,1741,1742,1743,1744
上面的查询只给出字符串的第一个元素。但是,当我将字符串直接放在查询中时,我得到了所有的10个元素:
S
我正在尝试理解如何在LINQ中重写连接查询。
SELECT cs.qid,cs.qk FROM location_table pl
JOIN (SELECT qid,qk FROM q_table WHERE att5 = 'process') cs ON pl.qck = cs.qk
WHERE pl.location = 'there'
下面是我开始使用的LINQ,但它返回的结果与上面的SQL不同
from pl in location_table
from cs in q_table
where s. att5 == 'process'
我有以下SQL代码: INSERT INTO TIMES (saleDay, dayType)
SELECT saleDate, CASE WHEN h.hd IS NOT NULL THEN 'Holiday'
WHEN to_char(saleDate, 'd') IN (1,7) THEN 'Weekend'
ELSE 'Weekday' END dayType
FROM SALES s LEFT JOIN
(SELECT '01.01' hd FROM DUAL UN
我目前正在使用oracle PLSQL函数来列出每个项目的项目编号、职位和员工姓名。到目前为止,我能够获得所需的输出,但只能在逐个调用它之后才能这样做。我如何在我的代码中实现一个循环,以允许它一次调用它。 当前代码 create or replace procedure PROJECTGROUPS(projectid IN WorksOn.P#%TYPE)
IS
PID Project.P#%TYPE;
PNAME Project.PTitle%TYPE;
ENAME Employee.Name%TYPE;
finalRow VARCHAR(2000);
CURSOR query is
se
我正在尝试用PL/SQL重写SQL语句,但我对此并不熟悉,我无法正确理解它。
这是最初的声明:
select f.flugnummer, p.nachname, pl.sitzplatznummer, l.bezeichnung, r.reisepassnr,
sum(g.gewicht) as Luggage
from passagierliste pl join flug f on f.flugID = pl.flugID
join gepaeck g on pl.personID = g.personID
join person p on pl.personID = p.personI