我有一个从发票表中提取的有点复杂的SQL查询。被查询的表使用三个数字字段来创建日期(一个字段表示日、月和年)。
此查询使用TO_DATE函数内部的concat函数调用的组合。在查询的SELECT部分中没有问题,但是当我在where子句中使用相同的语句时,我得到了一个"ORA-01858: a non-numeric character the found WHERE a numeric was a numeric is expected a numeric“,它指的是第一次在WHERE子句的TO_DATE中使用concat。
那么,在where子句中使用concat和TO_DATE有什
如何强制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
在系统中,我能够输入一个。
起作用的WHERE子句示例:
worktype = 'Corrective Maintenance'
或
1 = (
with
cte as (select 1 as calc from dual)
select
calc
from
cte
)
类似地,我想知道在WHERE子句的子查询中是否可以使用内联函数。
这个内联函数在SQL客户机中自己工作:
with
function inline_f(p_num number) return number i
我正在函数中构建SQL查询。函数参数是WHERE子句的准则。参数也可以为null。
foo (1,2,3) => SELECT x FROM y WHERE a=1 AND b=2 AND c=3;
foo (null, 2, null) => SELECT x FROM y WHERE b=2;
我在代码中这样做的方法是在WHER-子句中添加一个所有时间的true (例如,1=1或NULL为NULL或2> 1)。
因此,我不需要处理第一个条件是在" WHERE“之后,而所有其他条件是”和“的问题。
String sql="SE
我使用以下脚本来查找postgres模式中每个表的行数。
select table_schema,
table_name,
(xpath('/row/x/text()', xml_cnt))[1]::text::int as row_count
from (
select table_name, table_schema,
query_to_xml(format('select count(*) as x from %I.%I having count(*) =0 ', table_schema, table_
我不确定这是否是SQL Server 2012中的错误。
我有一个简单的问题:
DELETE
FROM TABLE1
FROM TABLE2
WHERE TABLE1.COL1 = 1
在SSMS中,此代码解析时不会出现错误,并从Table1中删除数据时不会出现错误或警告。我的预期是SQL Server会因为多个FROM语句而没有使用子查询语法而抛出错误。
我的程序非常简单。我已经创建了4个表。我打开了Created a Query Design,并在SQL视图中键入了以下内容...
SELECT product description, quantity,
FROM inventory
WHERE (quality<=10)
;
基本上,我只想显示10个单位或更少的所有产品,但它给我一个错误,说“语法错误,(缺少运算符)在查询表达式‘产品描述’。有什么帮助吗?”
我使用的是Hibernate 3.2.6,并尝试进行如下查询:
select
a,
(select min(date) as someAlias from B b where a.id = b.id)
from A a
where someAlias is not null and someAlias between :start and :end
想象一下,这个查询在我操作的上下文中是有意义的。当我运行这个查询时,我得到一个错误,说“未知的列'someAlias‘in 'where子句’”。当我显示SQL输出时,我发现SQL似乎没有包含查询中的“a
$query = "INSERT INTO directory_level_one (child_categories)
VALUES
('$category_name')
WHERE
category = '$parent'";
目前,当我在上面的sql查询中添加WHERE部分时,我得到了以下错误。
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server versio
我以前从未在SQL中使用过IF's。如果机构是一个特定的数字,我需要更新一个行,如果没有,我需要插入它。为了避免首先使用select,然后使用insert或update,我想尝试使用if语句。根据我在文档中所读到的,我认为应该是这样的:
IF (NOT EXISTS(SELECT evaluations FROM tEvaluations WHERE institution = 0))
BEGIN
INSERT INTO tEvaluations (institution,evaluations) VALUES (0,0)
END
ELSE
BEGIN
UPDA
我在HSQLDB中遇到了一个奇怪的触发器问题。我检查了几次语法,但没有发现任何错误。我现在认为在触发器中创建子查询可能是不可能的。
代码如下:
create trigger activate_member after update on member
REFERENCING OLD AS old NEW AS new
for each row
begin atomic
IF new.active = FALSE AND old.active = TRUE then
i
我有这个查询,但这显示列不存在。
SELECT
p.content,
(select count(*) from share_member WHERE username='pratik' AND share_id=share) as allow
FROM posts p WHERE allow >="1"
我得到了这个错误
未知列“允许”在“where子句”中
编辑:进行此编辑是为了改进我使用的sql查询。
SELECT
p.content,
CASE share_type
WHEN 'public' then "1"
SELECT NAME,SALARY
FROM STAFF
WHERE SALARY>(SELECT AVG(SALARY) FROM SFAFF)
AND YEARS < (SELECT AVG(YEARS) FROM STAFF)
为什么在这个sql中,函数AVG必须在子查询中?
为什么下面的sql是错误的?
SELECT NAME,SALARY
FROM STAFF
WHERE SALARY>AVG(SALARY)
AND YEARS < AVG(YEARS)
我有一个sql查询(如下所示)将记录插入到数据库中。目标是在数据库中只插入新的/唯一的条目。因此,如果行在整个数据库中不存在,它将插入该行。我希望它只针对instrumentSymbol中包含符号的行对该行进行评估,而不是针对整个数据库中的每一行进行评估。
我遇到了这个语法错误,我已经准确地指出是由于在SELECT 1 FROM instrumentsHistory WHERE instrumentSymbol = 'ZYME' AS f行中使用了别名
如果删除WHERE instrumentSymbol = {SYMBOL}条件,则此查询可以正常工作,但我需要这样做来改进查询
下面的SQL查询有问题:
SELECT job
FROM (SELECT job, COUNT(*) AS cnt
FROM Employee
GROUP BY job)
WHERE cnt=1
因此,它应该只显示cnt (作业计数)等于1的所有作业。
当我在Fiddle上测试上面的select查询时,我得到以下错误:
Incorrect syntax near the keyword 'WHERE'.
SQLFiddle:
你好,我的查询有问题。下面是我的模型:
class Owner
has_many :busiensses
has_many :adverts
end
class Business
belongs_to :owner
end
class Advert
belongs_to :owner
end
当我进行这个查询时,一切都正常,它返回了充满所需对象的正确集合:
Owner.joins(:adverts).includes(:businesses)
.where(businesses: {owner_id: nil})
但是当我添加查询更新时,它会引发错误。
Owner
我试图使用WHERE子句将多条记录从Node.js插入到MYSQL中,但我始终得到一个语法错误。
在我尝试向它添加一个条件语句之前,该语句工作正常。然后我得到了这个错误: ER_PARSE_ERROR:您的SQL语法中有一个接近值的错误吗?在哪里..。
var Data = data; // this is a nested array already as received from client side like [[..],[..],[..]]
var ID = 123;
var sql = "INSERT INTO table1 (Col1,Col2,Col3,Col4
我是SQL的新手,我正在尝试这样做:
我有一个名为Foo的表,其中有两列:FooId (主键)和BarId (一个不可为空的外键,其中可以有重复值)。
我想编写一个查询,返回在Foo中只出现一次的BarId。我还想编写另一个查询,返回在Foo中出现多次的BarId。
我是这样开始的:
SELECT
BarId,
COUNT(BarId) AS "BarCount"
FROM [Database].[dbo].[Foo]
GROUP BY BarId
它返回每个BarId的出现次数。但是只要我尝试添加一个WHERE子句,我就会得到一个语法错误:
S
我有一个动态查询,它可能以编程方式生成一千多个where子句,每个子句都可以类似于(列a= '1‘和b= '2’),且变化不大。我可以知道一个Sql查询中的这么多条件是否会有性能问题吗?列a是varchar,没有创建索引。它查询的表很大,并由另一列c进行分区。非常感谢。它是Sql server 2012。
我有一个查询,该查询从MySQL表中删除一行,如果查询如下所示,该查询非常正常:
$sql = "DELETE FROM table WHERE id = 1"
但是,当我添加一个AND子句时,它不起作用,或者出现错误:
$sql = "DELETE FROM table WHERE id = 1 AND name='Jack'"
MySQL DELETE不支持AND子句吗?
下面的SQL行有语法错误。我试图在SQL查询中引用前一天的“关闭”,如何修复我的查询以避免出错?
谢谢!
SELECT *
FROM "daily_data"
WHERE date >'2018-01-01' and (open-LAG(close))/LAG(close)>=1.4 and volume > 1000000 and open > 1
错误:
查询执行失败的原因: SQL错误42809:错误:窗口函数滞后需要一个OVER子句位置: 63
我在Azure SQL Server中有一个数据库,我必须将日期字段与当前的东区时间进行比较,SQL查询where子句如下所示
where CAST(getdate() AT TIME ZONE 'UTC' AT TIME ZONE 'Eastern Standard Time' as date) = mo.orderdate
Azure SQL DB中的当前日期时间转换为EST时间的位置。我不确定如何将上面的查询转换为linq查询,这样我就可以在C#中使用它,如下所示
where mo.orderdate == CAST(getdate() AT TIME
我使用的是camel 2.17.0,必须使用SQL子句执行更新查询。查询是
update MY_TABLE set STATUS = :#status where ID in (:#in:ids) AND TYPE = :#type
我已经将所有参数设置为camel标头,参数 is 是一个列表,在执行过程中列表中有四个元素。但是我得到了一个sql异常。
PreparedStatementCallback; uncategorized SQLException for SQL []; SQL state [null]; error code [0]; Number of parameters m
每次尝试运行此子查询时,都会收到HQL错误。这种类型的查询应该可以在SQL中工作,对吗?HQL如何以不同方式处理这种类型的查询?
SELECT *
FROM Table
WHERE user_Id IN (
SELECT a.user_Id
FROM Table a
WHERE a.color='Blue')
看起来HQL不支持IN?我收到一个错误:“无法识别‘SELECT’附近的输入”
在寻找SQLite的语法帮助时,发生了一件非常奇怪的事情。我正在iPhone上运行查询。
下面是失败的查询:(假设表是正确的,这在firefox sqlite插件中运行得很好)
select tcodes.DisplayOrder, StatusText, StatusCode
from tcodes
join tcode_transitions on tcode_transitions.available = tcodes.UNID
where StatusCode = 'AAA'
order by tcodes.DisplayOrder
需要将以下Oracle查询迁移到to,但出现以下错误:
ORDER子句在视图、内联函数、派生表、子查询和公共表表达式中无效,除非还指定了TOP、偏移量或FOR XML。
Oracle可以无错误地处理下面的代码。
取消订单一点帮助都没有。
SELECT CREATIONDATE, TITLE, SUM(myindex) over (ORDER BY CREATIONDATE ROWS UNBOUNDED PRECEDING) AS cumula
FROM (
SELECT CREATIONDATE, TITLE, 1 as myindex
FROM CONTENT
WHERE CONTENT
我试图在查询的WHERE子句中使用子查询的结果。我希望使用的属性是last_contact。见下文。
SELECT forename, surname, type,
( SELECT MAX(completed_date)
FROM tblTasks
WHERE prospect_id = tblProspects.prospect_id AND completed = '1'
) AS last_contact,
created_at
FROM tblPros
需要SQL帮助,因为我刚开始编写SQL查询。
给出了以下示例表结构和示例GROUP BY结果
假设表可以有非常大的no记录,通过不同的列值。
我期望的输出是每个不同组根据用户选择的总和。
例如:是预期的输出:
下面是用于获取上述结果的SQL查询:
SELECT project,
grant,
program,
department,
SUM(amount) AS Total
FROM tran_table
WHERE ( project = 'pj1'
AND grant = &
我在SQL server2012中有以下查询,当整个查询运行时,它运行得很好,但是内部查询没有单独运行,因为AdviceRecordID不属于tblB。
SELECT DISTINCT SubLOBID
FROM tblA
WHERE AdviceRecordID
IN (SELECT AdviceRecordID
FROM tblB
)
第一种情况下,整个查询都在运行,根本不考虑where条件,没有任何错误地返回所有结果,这对我来说很奇怪。
我正在尝试追踪性能问题。我正在对SQL Server Express数据库运行以下SQL查询:
SELECT COUNT(OrderID)
FROM FutureOrderHeader
WHERE ScheduledFulfillmentTime >= {0}
AND ScheduledFulfillmentTime < {1}
AND SplitStatus <> 2
AND Deleted = 0
AND OrderMode = {2}
当我使用Entity Framework运行该命令时,如下所示:
var results = ((
我试图对Symfony2项目中的表进行计数,其中记录需要在一个字段中匹配多个值。SQL如下所示:
SELECT * FROM posts WHERE userid IN ('3,4,1') AND open = '1';
目前,我有这样的代码:
$group = '3,4,1';
$activePosts = $dm->createQuery('
SELECT COUNT(p.id)
FROM AcmeBundle:Posts p
WHERE p.us
我有一个查询:SELECT SQL_CALC_FOUND_ROWS DISTINCT something.* FROM someting WHERE TRUE AND something.is_active=1 ORDER BY long_id DESC。上面的查询将检索一些对象和文档。
可以在检索文档/对象本身之前从该查询中获取文档/对象的总数吗?
这里的例子是表“某事”可能有超过10万个文档/objetcs,因此不能由PHP处理(返回致命错误,内存不足)。因此,我想知道将从查询中检索多少个文档/对象。
我尝试过COUNT的任何组合
SELECT COUNT(*) SQL_CALC_FOUN
我有一个SQL脚本,它一直导致死锁问题,我想知道在执行按位操作时是否应用了某种特殊的锁。
令人不快的查询如下:
UPDATE pos.prices SET active = 1 WHERE NOT (Attributes & 1 = 1)
使用列类型active BIT和Attribute TINYINT。
原因是大量其他脚本的更新不包括按位执行和(&)执行,没有任何问题。这是使用此操作的唯一更新,并且是死锁的。
它所针对的查询是一个具有多个联接的大型周期性选择,它获取一个SCHEMA锁。
编辑:这个查询会避免表扫描吗?
UPDATE pos.prices SET active