一如往常,会有一个合理的解释令我感到惊讶,但直到那时....
我有这个查询
delete from Photo where hs_id in (select hs_id from HotelSupplier where id = 142)
这执行得很好(后来我发现整个照片表是空的)
但是奇怪的是:hs_id
HotelSupplier中没有字段,它被称为hs_key
!
所以当我执行最后一部分
select hs_id from HotelSupplier where id = 142
分别(用鼠标选择查询的那一部分并按F5键),我得到一个错误,但是当我在in
子句中使用它时,它不会!
我想知道这是否正常吗?
它hs_id
从外部查询中获取值。
一个查询不投影其select
列表中所选表的任何列是完全有效的。
例如
select 10 from HotelSupplier where id = 142
将返回一个结果集,其中包含与该where
子句匹配的行数以及10
所有行的值的行数。
不合格的列引用是从最接近的范围向外解析的,因此这仅被视为相关的子查询。
该查询的结果将是删除Photo
其中hs_id
不为null的所有行,只要HotelSupplier至少具有id =
142的一行(因此子查询至少返回一行)
如果您考虑一下这样做的效果,可能会更清楚一点
delete from Photo where Photo.hs_id in (select Photo.hs_id)
这当然等同于
delete from Photo where Photo.hs_id = Photo.hs_id
顺便说一句,这是我个人在Microsoft Connect上错误地看到的最常见的“错误”。Erland
Sommarskog将其包含在他的愿望清单中,用于SET STRICT_CHECKS ON
我正在使用ApacheLucene5.0。0并在使用QueryParser时遇到问题。我试图创建一个查询,但得到一个ParseException。 以下是我的代码: 这是我得到的例外: 如果有帮助,我已经包含了以下jar文件: lucene-analyzers-common-5.0.0.jar lucene-core-5.0.0.jar lucene-queries-5.0.0.jar lucen
我试图在MongoDb上获取一个名为“fecha”的日志,其中包含一个日期字段。 在Java中执行代码后,我得到下一个查询: 但是我没有得到任何结果。以下是一些数据样本: 我的Java代码是下一个: 谢谢
http://localhost:8983/solr/prashant1/spell?q=blakc&spellcheck=on&wt=json 结果 但我需要与select查询相同的结果,它不能从SOLR管理中工作。 有没有设置和步骤要做?
问题内容: 我正在使用嵌套集模型在iPhone上的本地SQLite数据库中存储较大的数据层次结构。我从他们的网站上阅读了MySQL技术文章,了解如何执行此操作,但是他们建议的查询(以及我需要的查询)之一似乎不适用于SQLite,并且我不确定如何解决它。 SQLite报告不是列,我认为这是因为其子查询实现不完整。有人对如何解决此限制有任何想法吗? 查询的目的是获取给定父节点的所有直接子代。 问题答案
我正在从事WordPress项目。在我的服务器上运行PHP7.0并安装WordPress 4.9.4。我面临的问题是:我已经创建了一个模板文件,我正在尝试打印url中的查询字符串变量,然后返回Array()空数组。 当我在根文件夹的另一个文件上尝试print_r语句时,它可以正常工作,但在functions.php或模板文件(在WordPress页面上)上它不能工作。 有人能告诉我这是怎么回事吗?
我在mysql查询中使用CASE语句,我必须检查同一查询中是否存在列。 有可能这样做吗?如果是,请帮忙。 我的查询为例- 当“Status”时选择CASE column1,然后选择“Status”当“value”时(当id不为NULL时选择CASE id,然后选择“status1”,否则选择“status2”结束为table1 where condition中的ScheduleStatus)结束为