标签: query

在数据库中导入“.sql”文件时出错

我正在尝试将 .sql 文件导入到本地数据库中。每当我键入导入文件的命令时,都会收到错误ERROR at line 1: Unknown command '\S'.

这是sql文件的第一行update product set aka = 'Trojan.gen,Backdoor.Win32.Agent.bisn' where id = 156701

mysql query import

1
推荐指数
1
解决办法
3万
查看次数

返回完整记录集的百分比

我正在拉回订单列表,但我只需要显示一定比例的记录。例如,我们想要前 30 名或前 50 名。百分比是可变的,所以我不想使用 TOP。我尝试了下面的代码,但没有返回任何记录。

SELECT x.SelectionCriteriaID, 
       x.DeliveryCriteriaID, 
       x.SurveyID, 
       x.intappid, 
       x.intcustomerID, 
       x.intorderid, 
       x.RowNumber RowNumber,
       x.cntoid
  FROM (SELECT @SelectionCriteriaID SelectionCriteriaID, 
               @DeliveryCriteriaID DeliveryCriteriaID, 
               @SurveyID SurveyID, 
               ord.intappid, 
               ord.intcustomerID, 
               ord.intorderid, 
               ord.cntoid,
               ROW_NUMBER() OVER (ORDER BY ord.intcustomerid) AS RowNumber
          FROM ord
         WHERE ord.cntoid >= ISNULL(@MinNumberOrders, 1)
           AND ord.cntoid < ISNULL(@MaxNumberOrders, 999999999))x
 GROUP BY x.SelectionCriteriaID, x.DeliveryCriteriaID, x.SurveyID, x.intappid, x.intcustomerID, x.intorderid, x.RowNumber, x.cntoid
 HAVING x.rownumber < MAX(x.RowNumber)/(100/@percent)
Run Code Online (Sandbox Code Playgroud)

sql-server query t-sql sql-server-2008-r2

1
推荐指数
1
解决办法
3598
查看次数

是否可以在 NO SQL 中查询“NOT IN”?

对 SO 上的特定 NoSql 引擎(大表)提出了同样的问题。Big Table 好像不支持NOT IN查询?

这在任何其他 NoSQL 数据库中是否可行?在 NoSQL 数据库上有可能吗?

nosql query database-agnostic

1
推荐指数
1
解决办法
430
查看次数

根据 FundType 的优先级比较两个表的金额

我有两张表,一张是 PaymentDetail,另一张是 Ledger

在此处输入图片说明

在这里,我想优先考虑 paymodetype,首先应考虑现金用于 R、A,然后是 FundType,然后是信用卡,然后是 DD,然后是支票。

我希望收到的现金金额首先应考虑用于 R,然后是 A,最后是 I FundType。另一个例子 在此处输入图片说明

这里也是sqlfiddle。只能用SQL解决吗?我不想使用光标。 编辑: 我已经用我尝试过的方法更新了sqlfiddle。我正在尝试使用 join,因为在我的结果中获得了关于 Payment Detail 的多行。我想在 Ledger 上跨越一行付款明细的金额,然后应该使用第二行。我怎样才能做到这一点?当前sqlfiddle 的结果是 在此处输入图片说明

sql-server query

1
推荐指数
1
解决办法
1225
查看次数

查询缺少一个日期;只发生在今天

我希望这应该是可重现的。

我在 Oracle 11g 上。我作为另一个查询的一部分使用的这个查询的行为很奇怪:

SELECT TRUNC(SYSDATE - ROWNUM) DATEITEM
                         FROM   DUAL
                         CONNECT BY ROWNUM <= 32
                         UNION
                         SELECT TRUNC(SYSDATE + ROWNUM) DATEITEM
                         FROM   DUAL
                         CONNECT BY ROWNUM <= 32
order by dateitem desc;
Run Code Online (Sandbox Code Playgroud)

这应该以降序返回今天日期前后 32 天。

它一直有效,一直有效,直到今天。

出于某种原因,这不会返回 9 月 26th。它从 25 号跳到 27 号。

我想不出这其中的韵律或原因。例如,这个查询确实在 25 日返回了 25 日(所以我没有证据表明它只遗漏了 sysdate,因为它昨天有效)。

我到底做错了什么?

oracle query oracle-11g

1
推荐指数
1
解决办法
185
查看次数

如何找出制造商 B 生产的所有产品(任何类型)的型号和价格

数据库方案由四个表组成:

  • 产品制造商、型号、类型
  • PC代码、型号、速度、内存、高清、CD、价格
  • 笔记本电脑代码、型号、速度、内存、高清、屏幕、价格
  • 打印机代码、型号、颜色、类型、价格

产品表包含的制造者的数据,型号和产品的类型(PCLaptop,或Printer)。假设产品表中的型号对于所有制造商和产品类型都是唯一的。

PC表中的每台个人计算机都由唯一代码明确标识,并另外通过其型号(外键指产品表)、处理器速度(以 MHz 为单位)-速度列、RAM 容量(以 Mb 为单位)- ram 进行表征、硬盘驱动器容量(以 Gb 为单位)- hd、CD-ROM 速度(例如4x)- cd及其价格

笔记本电脑桌类似于PC表,只是代替了CD-ROM的速度,它包含的屏幕尺寸(英寸) -屏幕

对于打印机表中的每个打印机型号,指定了其输出类型(y彩色和n单色)-颜色列、打印技术(LaserJet、 或Matrix)-类型 …

query union

1
推荐指数
1
解决办法
1711
查看次数

为什么此查询会抛出“无效的列名”错误?

尝试运行一个简单的 UPDATE 查询,如下所示:

UPDATE [TILL].[dbo].[appParameters] 
SET [TILL].[dbo].[appParameters].[ParameterValue] = "1" 
WHERE [TILL].[dbo].[appParameters].[ParameterName] = "StaffTablesRefreshed"
Run Code Online (Sandbox Code Playgroud)

如果该字段[ParameterName]是值"StaffTablesRefreshed",则将 的值设置[ParameterValue]"1"

执行时,SQL Server 抛出错误:

列名“StaffTablesRefreshed”无效

两者都是[ParameterName]和。[ParameterValue]nvarchar(255)

我在这里遗漏了一些明显的东西吗?

谢谢,肯

sql-server query

1
推荐指数
1
解决办法
5万
查看次数

计算每个 DISTINCT 的所有行

如何计算 WHERE 语句的所有行:

SELECT DISTINCT column1 FROM table COUNT WHERE date::text LIKE '%2014%';
Run Code Online (Sandbox Code Playgroud)

我的输出:

column1
=======
info1
info2
info3
Run Code Online (Sandbox Code Playgroud)

期望输出:

column1|number_of_rows
=====================
info1  | 2000
info2  | 1500
info3  | 1000
Run Code Online (Sandbox Code Playgroud)

你能支持我吗 如何改进它?

提前致谢。

postgresql query count distinct

1
推荐指数
1
解决办法
634
查看次数

任何人都明白为什么这个查询不再有效?

在本地主机上,此查询正常运行,运行正常的 MySQL:

SELECT COUNT(*) as rows, customers. * 
FROM customers 
WHERE user_id = 6 
      AND age = 10 
ORDER BY timestamp DESC LIMIT 0
Run Code Online (Sandbox Code Playgroud)

然而,在最新的 mariadb 上,它抛出了这个:

SELECT COUNT(*) as rows, customers. * 
FROM customers 
WHERE user_id = 6 
      AND age = 10 
ORDER BY timestamp DESC LIMIT 0
Run Code Online (Sandbox Code Playgroud)

1064 - 你的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,了解在“行,客户”附近使用的正确语法。* FROM customer WHERE user_id = 6 AND age' 在第 1 行时间:0.011s

有谁知道为什么会这样?

mysql mariadb query

1
推荐指数
1
解决办法
76
查看次数

如果出现死锁异常,我可以重试每个 SQL 查询吗 (MSSQL)

在发生死锁异常时重试 SQL 查询是否总是安全的?这会导致意外行为或执行操作两次吗?我认为死锁异常总是意味着回滚,即使查询不在显式定义的事务中运行。

sql-server deadlock query update

1
推荐指数
1
解决办法
3200
查看次数