Tag: sql

在MySQL中使用LIKE%..%和字段值

当我需要使用LIKE%..%语句中的字段的值时,我偶然发现了一个棘手的SQL问题。 例: SELECT t1.Notes, t2.Name FROM Table1 t1, Table2 t2 WHERE t1.Notes LIKE '%t2.Name%' 这只是一个例子,从我的头顶来显示我需要做什么(我知道这是行不通的)。 我需要在LIKE%..%中使用t2.Name的值 我想这是微不足道的,当你知道它;)

SQL WHERE-Clauses中的聚合函数

在大学考试中有一个问题, 是否有可能在SQL WHERE子句中使用聚合函数。 我一直认为这是不可能的,我也找不到任何可能的例子。 但我的答案被标记为false,现在我想知道在哪些情况下可以在WHERE使用聚合函数。 另外,如果这是不可能的,它将很好的链接到它所描述的规范。

从子查询中select*

我想得到column1的总和,column2的总和和总和。 在Postgres中,我可以这样做:( 注意明星) SELECT *, a+b AS total_sum FROM ( SELECT SUM(column1) AS a, SUM(column2) AS b FROM table ) 但在Oracle中,我得到一个语法错误,必须使用这个: SELECT a,b, a+b AS total_sum FROM ( SELECT SUM(column1) AS a, SUM(column2) AS b FROM table ) 我有很多列要返回,所以我不想在主查询中再次写入列名。 有没有简单的解决scheme? 我不能在内部查询中使用a + b,因为在这个地方还不知道。 我不想使用SELECT SELECT SUM(column1) AS a, SUM(column2) AS b, SUM(column1)+SUM(column2) AS total_sum 。

用于<TABLE>的表存储引擎在查询时没有这个选项(错误1031)

用于<TABLE>的表存储引擎没有这个选项。 这是MySQL order by查询返回的错误。 列types是varchar(2000) 。 查询: select * from `dbo.table_1` order by textT; 返回错误: 错误1031(HY000):'dbo.table_1'的表存储引擎没有这个选项。 为什么会这样呢? 我该如何解决?

为什么外键在理论上比实践中更多?

当你研究关系理论时,外键当然是强制性的。 但实际上,在我工作的每个地方,表格产品和连接总是通过在查询中明确指定键来完成的,而不是依赖DBMS中的外键。 这样,当然可以按字段join两个表,这些字段不是外键,会产生意想不到的结果。 你为什么这么认为? DBMSs不应该强制连接和产品只能通过外键进行吗? 编辑:感谢所有的答案。 现在很清楚,FK的主要原因是参考完整性。 但是如果你devise一个数据库,模型中的所有关系(ERD中的IE箭头)至less在理论上会成为外键,无论你在数据库pipe理系统中如何定义它们,它们在语义上都是FK。 我无法想象需要通过不是FK的字段来连接表。 有人可以举一个有意义的例子吗? PS:我意识到N:M关系成为单独的表而不是外键的事实,为简单起见,只是省略了它。

我怎样才能回滚我的最后一个删除命令在MySQL中?

我不小心删除了一些巨大的不。 从表中的行 我怎样才能回滚? 我使用腻子执行查询… 如果你们中的任何一个能够安全地引导我离开,我将不胜感激。

MySQL SELECT LIKE或REGEXP在一个logging中匹配多个单词

字段table 。 name包含“Stylus Photo 2100”和以下查询 SELECT `name` FROM `table` WHERE `name` LIKE '%Stylus 2100%' 我没有得到任何结果。 当然,如果我search,我会 SELECT `name` FROM `table` WHERE `name` LIKE '%Photo 2100%' 如何通过search“Stylus 2100”来selectlogging? 谢谢

如何以编程方式删除WebSQL中的数据库?

我是新的Web SQL数据库 ,我用它来保存数据在本地数据库中的网页。 我可以通过创build一个数据库 var db = openDatabase('database', '1.0', 'my database', 2 * 1024 * 1024); 我可以通过这个来创build一个表格 db.transaction(function (tx) { tx.executeSql('CREATE TABLE IF NOT EXISTS mytable (blah,blah)'); }); 我可以通过删除 表格 db.transaction(function (tx) { tx.executeSql('DROP TABLE mytable'); }); 但有没有办法通过编程方式删除database ?

尽pipevarchar(MAX)用于每列,但在导入CSV文件时SQL Server中出现错误

我试图插入一个大的CSV文件(几个演出)到SQL Server,但一旦我通过导入向导,最后尝试导入文件,我得到以下错误报告: 执行(错误)消息错误0xc02020a1:数据stream任务1:数据转换失败。 “”标题“”返回状态值4和状态文本“列的数据转换被截断或目标代码页中一个或多个字符不匹配。 (SQL Server导入和导出向导) 错误0xc020902a:数据stream任务1:“源 – Train_csv.Outputs [平面文件源输出] .Columns [”标题“]”失败,因为截断发生,截断行处置“Source – Train_csv.Outputs [Flat File Source输出] .Columns [“标题”]指定截断失败。 指定组件的指定对象上发生截断错误。 (SQL Server导入和导出向导) 错误0xc0202092:数据stream任务1:处理数据行2上的文件“C:\ Train.csv”时发生错误。(SQL Server导入和导出向导) 错误0xc0047038:数据stream任务1:SSIS错误代码DTS_E_PRIMEOUTPUTFAILED。 Source – Train_csv上的PrimeOutput方法返回了错误代码0xC0202092。 pipe道引擎调用PrimeOutput()时,组件返回失败代码。 失败代码的含义由组件定义,但错误是致命的,并且pipe道停止执行。 在此之前可能会发布错误消息,提供有关失败的更多信息。 (SQL Server导入和导出向导) 我创build了表格来将文件插入到第一个列表中,并将每列设置为保存varchar(MAX),所以我不明白我是如何仍然有这个截断问题。 我究竟做错了什么?

使用Hibernate进行不区分大小写的search

我正在使用Hibernate将Java应用程序的ORM应用到Oracle数据库(不是数据库供应商很重要,我们可能有一天会切换到另一个数据库),我想根据用户提供的string从数据库中检索对象。 例如,在search人时,如果用户正在寻找居住在“fran”的人,我希望能够在旧金山给她的人。 SQL不是我的强项,我更喜欢Hibernate的Criteria构build代码来硬编码string。 任何人都可以在正确的方向上指出我如何在代码中做到这一点,如果不可能,硬编码SQL应该是什么样子? 谢谢, Yuval = 8-)