我有一个类似这样的查询:
Select PATH
from FOLDER
where ...
此查询返回路径列表。(例如,600字符串)。
当我使用此路径列表并在稍后使用
Select *
From FOLDER
WHERE FOLDER.PATH IN ('path1','path2' [...])
可能需要30秒以上的时间。
当我执行此查询时:
Select *
From FOLDER
WHERE
FOLDER.PATH IN (Select PATH
from FOLDER
where
...)
它只需不到1秒。
sql serv
我正在努力学习sql,我得到了这个错误--这意味着什么?
我想:让那些GDP高于欧洲任何国家的国家?
错误:
MicrosoftSQL ServerSubquery返回的值超过一个。当子查询跟随=、!=、<、<=、>、>=或子查询用作表达式时,这是不允许的。(SQL-21000)
select name, gdp from bbc
where gdp >
(
select gdp from bbc
where region = 'Europe'
)
我想写额外的查询到phpbb3 ,它检查一个用户在没有给其他三个人业力之前不能给同一个人业力。但我收到SQL语法中的错误..。
我检查了和链接和查询,如下所示
SELECT *
FROM phpbb_karma AS out
WHERE out.poster_id = 134
AND out.poster_id
NOT IN
(SELECT k.karma_id, k.user_id, k.poster_id
FROM phpbb_karma AS k
WHERE user_id = 108
ORDER BY k.karma_id DESC LIMIT 3)
所以我内心的疑问得到了他(p
我正在尝试对独立列进行Select。如果我想选择每班学生的名字。如下所示,应该如何进行查询..?
Class1 Class2 Class3
林恩·迈克尔·禤浩焯
泰迪·艾米丽
艾米
(这是一个类似于我想要检查的信息的例子)
我试着使用每个类的子查询进行选择查询。但是,SQL错误导致消息“Subquery返回的值超过1个”。
‘
SELECT
(SELECT A.NAME FROM STUDENT A WHERE A.CLASS_NO='1' AND A.PRSN_SQNO > 0),
(SELECT A.NAME FROM STUDENT A WHERE A.CL
我不明白为什么这个t-sql查询不能工作。
MSSQL (或者仅仅是SQL)通常不允许我用从子查询派生的日期来更新一个表,这是什么原因呢?
UPDATE table1
SET someOldDate = innertable.derivedDate
WHERE
uniqueId in
(SELECT CAST(str(table2.VisitMo)+"/"+str(table2.Visitday)+"/"+ str(table2.Visityr) as datetime) as derivedDate
,uniqueId
FROM table1 t
我有一个主要的报告,我使用了会计的目的,我建立了一个子报告,并附加到它。我希望使用查询更新子报表,以便每次打开主报表时,子报表都会根据我要使用的查询进行更新。但是我不知道如何添加新的命令。
我正在使用Visual Studio 2010、SQL Server 2008和Crystal Reports for Visual Studio。
当我使用标准SQL在BQ上运行下面的查询时,它表示在运行时它将处理76.6TB
SELECT
event_time, user_id, activity_id,dbm_insertion_order_id, dbm_total_media_cost_usd
FROM `raw.5295.activity_*`
WHERE _PARTITIONTIME >(SELECT * FROM `analytics-dwh.autobidding.activity_list` )
AND timestamp_micros(event_time) > (SELECT timestamp_m
你好,这里是我的SQL查询:
WHERE table1.Regnumber IN (
CASE
WHEN @fRegNumber IS NOT NULL AND @fRegNumber<>-1 THEN @fRegNumber
ELSE (SELECT Regnumber FROM table2)
END
)
错误:
‘子查询返回的值超过一个。当子查询跟随=,!=,<,<=,>,>=或子查询用作表达式时,这是不允许的。
我怎么才能解决这个问题?
我有个疑问..。
$sQuery = "
SELECT SQL_CALC_FOUND_ROWS ".str_replace(" , ", " ", implode(", ", $aColumns))."
FROM dominios left join datas on dominios.id_dominio=datas.id_dominio
left join dnss on dominios.id_dominio=dnss.id_dominio
left join entida
我有mysql数据库。在php应用程序中,我想创建一个文本区域,并允许用户编写一个“查询”来过滤表中的数据。
我想为用户创建一个查询解析器,通过编写查询来过滤数据。例如:
name="John" AND (age > 20 OR status = 1)
就像这样。这是用户输入的内容,并按下搜索按钮,系统从用户提供的“查询”中创建sql查询,并返回过滤结果。在上面的示例中,它将创建如下sql查询:
SELECT * FROM users WHERE name="John" AND (age>20 OR status=1)
我正在考虑用正则表达式解析这个
考虑两个sql查询
select a+b absum from my_table order by a+b;
select absum from (select a+b absum from my_table) order by absum;
在性能方面有什么不同吗?我想知道SQL是如何执行查询的:它会计算一次或两次a+b吗?还有什么提高性能的把戏吗?
我在查看Access数据库中没有进行的SQL查询。
其中一个SQL查询如下所示:
select column1 from table1 group by column1 having count(*)>1
此查询的目的是在column1中找到不止一次出现的值。我可以验证此查询是否正常工作,并返回多次出现的列值。
然而,我不明白为什么这个查询工作。根据我的理解,使用group by将删除重复字段。例如,如果column1有
column1
apple
mango
mango
执行group by (column1)将导致
column1
ap
我有一个按条件获取行的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
我有以下查询:
SELECT c004, mesosafe, CAST(SUBSTRING (c000 ,1 , 5) as int) as sortorder, c001, c000, c002
FROM DE_DATA.dbo.t309
WHERE c001 IS NOT NULL
AND c002 = 1
AND mesocomp = 'EMTD'
AND mesoyear IN (
SELECT MAX(mesoyear) AS currmesoyear
FROM DE_DATA.dbo.t001
)
AND CAST(SUBSTRING (c000 ,
我正在尝试运行SQL查询来删除表中id为163到265的行
我尝试这样删除较少的行数。
DELETE FROM `table` WHERE id IN (264, 265)
但是当涉及到一次删除100行时,有没有类似上述方法的查询?我也在尝试使用这种查询,但执行失败了
DELETE FROM `table` WHERE id IN (SELECT * FROM table WHERE id = )
请告诉我执行上述操作的查询...
我有两张这样的桌子
create table department(
Dno int primary key,
name varchar(50) not null
)
create table employee(
empid int primary key,
name varchar(50) not null,
sal decimal(7,2) not null,
dno int foreign key references department(Dno))
我希望使用SQL子查询获得以下查询的相同结果。
SELECT e.Name, e.Sal, d.Dno, d.Name
FROM E
对于如何重构这个简单的查询有什么建议吗?
通过VB6 (更新后的旧代码来处理新数据库)使用DAO访问Server数据库,其中一个应用程序中的这个查询是合适的。
Select I.sType, Count(I.BarcodeID) AS CountOfID
FROM (SELECT DISTINCT sType, BarcodeID From [Ready]) as I
GROUP BY I.sType
ORDER BY sType
我已经将查询粘贴到中,并且它运行得很好。它可以很好的击中原始的访问数据库。但是,通过ODBC访问Server的DAO正在生成:
“Microsoft Jet数
如何强制SQL Server首先计算子查询?
我的查询类似于:
SELECT ObjectId FROM
(SELECT ObjectId FROM Table Where Id = @Id) T
WHERE fn_LongRunningFunction(T.ObjectId) = 1
我希望外部where子句对内部查询的结果求值。如何在不将子查询插入到临时表中的情况下执行此操作。
当我执行这个查询时,SQL会对查询求值,就好像它的代码是这样的:
SELECT ObjectId FROM Table Where Id = @Id AND fn_LongRunningFunction(Objec
如何从表中返回除第一行以外的所有行。下面是我的sql语句:
SELECT * FROM article where article_no
NOT IN
(SELECT * FROM article order by article_no limit 1)
up给定的SQL查询引发一个错误:
这个版本的MariaDB还不支持‘限制& IN/ALL/ANY/SOME子查询’
我有一个SQL查询:
select top(1)
salary
from
(select top(2) salary
from employee
order by salary desc) as b
order by
salary asc
如果我不使用as b,它会给我一个错误:
语法不正确..。
为什么在这个查询中强制使用as?
我正在使用SparkSQL
spark.sql("""
SELECT artist, count(distinct(song))
FROM user_log_table WHERE artist =
(SELECT artist
FROM user_log_table
GROUP BY artist
ORDER BY count(artist) DESC
LIMIT 1 )
""").show()
这是我的查询,我只运行子
我使用的是sql-server 2012,在更新表时有一个奇怪的问题。
我的select查询返回树行,如下所示:
select * from
TAble1 p join
(select ProductId=max(ProductId) from Table2 s group by s.ProductId) pin on p.id=pin.ProductId
where p.categoryid=238
返回的行是:
现在,当我运行此更新查询时:
update TAble1 set sizing=0 from
TAble1 p join
(s
我只是在编写一个复杂的更新查询,该查询大致如下所示:
update table join
(select y, min(x) as MinX
from table
group by y) as t1
using (y)
set x = x - MinX
这意味着变量x是基于子查询更新的,该查询还处理变量x --但是不能通过运行的update命令修改吗?这不是个问题吗?我的意思是,在正常编程中,您通常必须显式地处理这个问题,即将新值从旧值存储到其他地方,在工作完成后,用新的.但是,SQL数据库将如何做到这一点?
我对任何一个观察或实验都不感兴趣。我想要一个来
我试图用metabase编写动态sql查询--我添加了这样的日期筛选器(使用雪花查询):
select * from my_table where date > {{date_filter}}
在此之后,我需要将默认值昨天设置为date_filter,因此我编写如下:
select * from my_table where date > [[{{date_filter}} #]]dateadd(DAY, -1, GETDATE())
当我运行这个查询时,它起了作用-我得到了正确的输出。
但是-当我更改metabase为日期类型提供的日历中的日期时,我得到了以下错误:
SQL co
我正在学习SQL,这一课就是子查询。我的问题是:
select sum (select tientra from thang7_8714 where tientra > 0) as tmp;
但Postgres注意到了我的信息:
ERROR: syntax error at or near "select" LINE 1: select sum (select
tientra from thang7_8714 where tientra > ...
SQL state: 42601 Character: 13
我知道我可以在没有子查询的情况下得到结果,但我
我有一个脚本,它从两个给定的参数:字段和值生成SQL查询。最后,它生成了如下内容:
SELECT * FROM table WHERE <field> IN <value>;
到目前为止没什么大不了的。但是现在想象一下:你有一个包含字符串的字段,有时只包含数字,有时不包含。现在你给出的值是123:
SELECT string FROM table WHERE string = 123;
由于MySQL自动转换,此查询将导致中包含123的任何行或以123开头的字符串。有办法禁用这种自动铸造的零件字符串吗?我只想得到包含的结果,确切地说是的给定值(不管是否强制转换)。
简单
我只是在SQL Server的另一个表中调用了一个值,但遇到了一些问题:
CREATE TRIGGER [dbo].[IdHeadOtomatis]
ON [dbo].[RollsNumberSimulation]
FOR INSERT, UPDATE
AS
BEGIN
UPDATE [RollsNumberSimulation]
SET IdHead = (SELECT IdHead
FROM NewCutPlan
WHERE [IdNewCutPlan] = IdNewCutPlan)