我有一个按条件获取行的SQL查询,外部查询计算行数:
SELECT IdUserRecordstouser, SUM(IF(StatusRecordstouser IN('1', '0'), 1, 0)) AS NEW
FROM recordstouser
WHERE IdRecordstouser
IN (
SELECT IdRecordstouser
FROM recordstouser
WHERE IdtoUserRecordstouser =544
)
AND StatusRecordstouser = 1
问题是,如果使用StatusRecordst
下面是返回子查询的MySQL代码。我希望子查询只返回一行。
SELECT DISTINCT w.cname
FROM works w
WHERE
(SELECT DISTINCT w.cname, AVG(w.salary)
FROM works w
WHERE 1
GROUP BY w.cname
)
<
(SELECT DISTINCT w.cname,AVG(w.salary)
FROM works w
WHERE 1
GROUP BY w.cname
)
MySQL错误说:
1242 -子查询返回多于1行
在蟾蜍中用于Oracle 12:
我使用一个复杂的查询从表中选择了行。
我想在系统的中选择相同的行。
但是,应用程序不支持完整的SELECT语句,只支持WHERE子句。有时,它不允许将复杂查询作为WHERE子句中的子查询,这是我当前查询的情况。
作为另一种选择,是否有一种方法可以让蟾蜍从结果集的ID中生成WHERE子句?
我会将WHERE子句复制/粘贴到应用程序中。这是一个常见的任务,所以如果有一些简单的东西,比如蟾蜍的按钮就能做到这一点,那就太好了。
示例:
使用结果集..。
ID VAL
1 A
2 B
3 C
...to生成一个WHERE子句
SELECT
user_groups.*,
groups.grp_display_name,
CASE user_groups.uug_active
WHEN '1' THEN 'YES'
WHEN '0' THEN 'NO'
END AS usr_active
FROM
user_groups,
groups
WHERE
user_groups.uug_is_deleted = 0
AND user_groups.gro
我有两个表,我希望使用SQL“外部”连接(然后获取)它们。确切的SQL查询(正在讨论中)是:
SELECT
LEFT(a.cusip, 6) AS cusip6,
a.date, a.prc, a.ret, a.vol, a.spread, a.shrout,
b.epsf12, (b.seqq-b.pstkq) / b.cshoq AS bps
FROM
crsp.msf a
FULL JOIN
compa.fundq b ON (LEFT(a.cusip, 6) = LEFT(b.cusip, 6)
AND
我有一个复杂的SQL查询,可以简化如下:
Select ColA,ColB,ColC,ColD
From MyTable
Where (ColA In (Select ItemID From Items Where ItemName like '%xxx%')
or ColB In (Select ItemID From Items Where ItemName like '%xxx%'))
如您所见,子查询会出现两次。编译器是否足够聪明地检测到这一点,并且只获得一次子查询的结果?或者子查询运行两次?
FYI,表项大约有20,000行,MyTable有
我遇到了一个简单的SQL查询,它应该返回单个行,但返回的结果类似于GROUP语句。
以下是查询:
select
column_a,
column_b
from table_1 A1
where column_b = (
select MIN(column_b)
from table_1 A2
where A1.column_a = A2.column_a
)
;
下面是一个table_1,这个查询使用的唯一表是:
column_a column_b
a 3
a 2
a 1
b 5
b 4
c 6
奇怪的是,查询应该只返回一行,column_a = &
假设我有一个包含1000条记录的表,并且有以下查询,它将返回7条总记录:
SELECT *
FROM MyTable
WHERE IndexedColumn > 5000
AND OtherIndexedColumn = 2
由于这两列都有最新的索引,Server可以更快地进行假设并查找值,这两个查询都是SARGable (理想情况下是较少读取)。但是,假设我需要确保该值不等于另一个值,假设另一列为12,所以我必须添加
AND AnotherIndexedColumn <> 12
如果这是WHERE子句中的最后一条语句,那么Server是在前两个WHERE语句中使用
我有多个查询,其中我将执行一些任务。
例如:
<pre>
select * from test
where something
if check A
if check B
if check C
compare something.
For one table.
</pre>
像wise一样,我还有很多针对不同表的其他查询。
<pre>
select * from test
where something
if check A
if check B
if check C
compare something.
</pre>
currently
查询和相关错误如下:
SQL> insert into test(name) values('Raju') where sadd='Hyd';
insert into test(name) values('Raju') where sadd='Hyd'
*
第1行中的错误:
ORA-00933: SQL命令未正确结束
我使用SqlKata纯粹是为了在C#中构建SQL查询。我需要的查询包含NOT IN命令,但我不知道如何用C#编写它。
这是我的SQL查询:
SELECT [User].UID as UserUID, FirstName, LastName FROM [USER]
WHERE [User].[AccountUID] = @p2
AND UID NOT IN (SELECT [User]
FROM [User]
OUTER APPLY [User].[UserProducts].nodes('/ArrayOfUserProduct/UserProduct') AS Xml
我在select中使用select,如下所示:
SELECT id,
(
SELECT name FROM xxx WHERE xxx
) as y
FROM xxx
但是这个y是空的。正因为如此,整个查询返回null。如果y等于null,我希望它是0,这样就不会改变整个查询的结果,整个查询应该返回几个元组。
下面是我的完整查询:
SELECT id, begin, end, location_id, out_location_id, lat, lng, out_lat, out_lng, LEFT(TIMEDIFF(end, begin), 5) as durat
我们有两个SQL查询,用于从用户登录中查找数据库锁,因为有时我们需要手动解锁。简而言之,我们运行以下查询,它将返回一些结果:
SELECT DISTINCT request_session_id
FROM [view_name]
WHERE [condition1] AND [condition2]
然后,我们每次只获取一个结果,并运行以下查询(在更新@request_session_id变量之后),直到在结果的主机名列中找到显示正确用户名的行( spid值将对应请求_session_id):
DECLARE @request_session_id int;
SET @request_sess
因此,我试图将SQL查询转换为Hive查询。我使用的是不支持删除的.12版本。
下面是SQL查询:
Delete from t1 c where exists(select 1 from t2 a where
a.emplid=c.employee_id and a.project_status='test')
现在,我尝试在上面的查询中使用NOT,但是由于某些原因,我们不能在查询中使用NOT。
下面是我编写的Hive查询,但我不确定,因为它没有给出正确的结果。我对蜂巢很陌生。有人能帮上忙吗。
INSERT Overwrite table t1
select * from
我有一个嵌套的SQL查询,它显示了我不能理解的结果。该查询通过PARTNER_USER表联接合作伙伴表和用户表。合作伙伴基本上是用户的集合,此查询的目标是找出第20个用户何时向ID为34的合作伙伴注册:
select p.partner_id id,
u.created_on launch_date
from user u join partner_user pu
using (user_id) join partner p
using (partner_id)
where p.partner_id = 34
and u.user_id =
(s
我想编写一个sql查询,在其中我选择按id分组的所有行,其中列date是该id的最新日期,但仍然小于例如16-JL-2021。我想在不使用子查询(在oracle中)的情况下这样做,这可能吗?我试了下,但不起作用。
SELECT *, max(date)
WHERE date < '16-JUL-2021'
OVER(PARTITION BY id ORDER BY date DESC) as sth
FROM table
我有以下SQL查询,我试图只返回发票,其中的make被设置为' BANER ',这是获得所有行的发票表与所有横幅行在底部,我如何返回行仅在班纳是制造?
SELECT [ART_NO],
[QTY],
[DUE_DATE],
make=CASE make
WHEN 'BANER' THEN 'BANER'
ELSE ' ' + make
END,
[PRODUCT],[PRICE],[DETAIL]
编写一个SQL查询,从表X的列A中查找表Y的列B中不存在的那些值。
update:查询耗时太长,not in (超过5分钟,我没有等待它完成)表Y中的列B是主键。
更新:我正在使用oracle。两个表的表大小都以百万(行)为单位。当然,我使用的是另一个WHERE子句,这意味着我将表X的大约500,000行与表Y中的数百万行进行比较
我使用hibernate和视图(注释@Subselect和@Synchronize)和过滤器。问题是hibernate封装查询(由@Subselect注释的“value”属性定义),性能变得非常慢。
例如,如果我编写自己的SQL查询(执行不超过100 is ),则如下所示:
SELECT id,
country_id,
firstName,
lastName
FROM client
WHERE client.country_id IN (2564,2558,1452,3652)
但是,如果我使用hibernate和过滤器,生成的查询将是:
SELECT
我有一条sql语句作为
select t.name, t.company from company t inner join employee e
on t.id = e.emp_id
where t.name not in(select t.name from table1 where t.id='x')
上面的查询不返回任何行。
但是,当我删除子查询时,仅使用
select t.name, t.company from company t inner join employee e
on t.id = e.emp_id
我得到所需的行。
此外,子查询
selec
我有一个Oracle SQL查询,它正在抛出错误:
ORA-01427: single-row subquery returns more than one row
01427. 00000 - "single-row subquery returns more than one row"
*Cause:
*Action:
我能做些什么来避免这个错误?我能做些什么来识别这个错误的原因/来源?
下面是SQL查询:
select (select CID
from SPL A
where A.prodid = appl.prod
我编写了一个查询,它应该从一个表中获取所有行,并对第二个表执行子查询,从最近的记录中只提取一个值。在 Server中,查询大约需要15秒才能执行,而查询则需要将近2分钟。有人能帮我把SQL翻译成LINQ吗?我一定做错了什么。
The SQL
SELECT a.isrunning,
worktype = (
SELECT TOP 1
w.worktype
FROM dbo.workorder w WITH (NOLOCK)
如何在不使用会话变量的情况下在mysql 8.0版本下实现MySQL8.0 row_number()函数?
SELECT user_name,user_id
FROM (SELECT user_name,
user_id,
pkval,
RANK() OVER(PARTITION BY user_id ORDER BY pkval desc) rn
FROM usertable) t
WHERE rn = 1
对于8.0版本以下的MySql的等效查询。如果我在mysql版本
Server 2012
我有Powershell脚本,它运行查询和输出到EXCEL。
如果我执行以下操作
$SQL9 = "SELECT *
FROM dbo.Computers
WHERE Date_of_Record = CAST(GETDATE() AS DATE)
AND dbo.Computers.COMPUTER_NAME LIKE '%s001'
AND dbo.Computers.IP_Address LIKE '%.100'
ORDER BY Computer_Name"
$ws = $wb.Worksheets.Item(9
我正在使用Linq到SQL,并试图使用DataOptions和AssociateWith过滤数据。我有一个名为Products的表,它有一个名为Id的主键和一个名为IsDeleted的标志,带有sql位。
当我使用下面的代码时,我得到了:“在‘Entities.Product’类型的'IsDeleted‘上不支持子查询”AssociateWith方法上的异常。
var context = new DataContext();
DataLoadOptions options = new DataLoadOptions();
options.AssociateWith<Product
给定Sql Server 2012数据库中的以下视图:
create view vManyUnions as
select 1 as p, a from vSubQuery_1
union all
select 2 as p, a from vSubQuery_2
union all
select 3 as p, a from vSubQuery_3
...
union all
select n as p, a from vSubQuery_n
create view vSubQuery_1 as
select a fr
Lucene有一种“筛选查询”的方法,即预查询,它“缩小”了内容的范围,然后实际的查询只应用于该预查询的结果。
例如,如果我有一个复杂的查询,但我只希望它应用于今年发布的内容,我可以在我的查询中添加一个筛选查询,它基本上将今年发布的全部内容缩减,然后将我的查询应用于该内容。因此,将整个内容域缩减为一个子集,然后对其进行查询。
SQL中有类似的吗?是否有一种方法可以根据特定的标准动态地“关闭”数据库的部分,然后只对剩余的内容进行查询?
我很确定我可以用临时表来做这件事,比如:
SELECT * INTO #Temp FROM content WHERE year_published = 2014
可能有些愚蠢,但是我需要在这个SQL查询中添加WHERE (即WHERE id=1)子句,但是我总是会出错。实现的正确方法是什么?提前谢谢。
SQL查询:
("SELECT i.*,c.fullname
from `invoice_list2` i
inner join impianti_list c
on i.impianti_id = c.id
order by id desc
LIMIT $start1, $limit1");
在这个SQL查询中:
SELECT * FROM CallRecords
WHERE DNIS = '3216547'
ORDER BY date DESC
但是在DNIS ='‘的WHERE语句中,我想取3216547,但是让它看看另一个表,其中我有一个不同DNIS的列表,例如:
3216547
9874560
7418523
因此,通常情况下,声明将是:
SELECT * FROM CallRecords
WHERE (DNIS = '3216547' OR DNIS = '9874560' DNIS = '741852
我正在运行这个sql查询:
SELECT * FROM customer_billing a WHERE
(SELECT COUNT(*) FROM customer_billing b WHERE
a.producttype = 'VoIP Telephony' and
a.productname = 'VoIP Geographic Number (01/02)' and
a.customer_seq = b.customer_seq)
<= 1 order by customer_seq ASC
它只应该显示producttype
我有一个SQL查询,添加where子句时会收到一个错误。没有where子句,它可以正常工作。
SELECT t.*, n.Caption, n.Description
FROM (
SELECT NodeID
, COUNT(DISTINCT CPUIndex) AS "Number of CPU"
, COUNT(DISTINCT CPUIndex)/8 AS "Number of Cores"
FROM CPUMultiLoad_Detail AS cpu WITH (NOLOCK)
--WHERE N
我得到了名为MultiTypes (int)的SQL和列。MultiyTypes列值是正则数字。我需要将这些数字分解成2种收藏品的功率,然后检查过滤值是否是这些收藏品中的一种。
如何正确构造我的WHERE语句?
示例:列具有值:
10 which is (8+2),
25 which is (16+8+1),
17 which is (16+1),
101 which is (64+32+4+1)
我想要构建查询
SELECT * FROM TABLE
WHERE @FilterValue -???-> MultiTypes
-?--意思是- @FilterValue是迭代值的“p