jjzjj

subQuery

全部标签

MySQL - 在 FROM 子句中使用子查询创建 View

我想使用子查询在MySQL中创建ViewCREATEORREPLACEVIEW`V_TASK_TRANSFER`(`REF_ID`,`DATE_CREATE`,`DATE_TRX`,`ACCOUNT_NO`,`TO_ACCOUNT_NO`,`TO_NAME`,`CURRENCY_CODE`,`AMOUNT`,`TASK_TYPE`,`NAME_E`,`NAME_I`,`REF_NO`,`EXECUTION_TYPE`,`REVIEW_COUNT`,`REVIEW_NEED`,`APPROVE_COUNT`,`APPROVE_NEED`,`TRX_COUNT_SUCCESS`,`TRX_

php - 推进 2 : Using a subquery as the value for a virtual column

我们有一个包含所有产品的表格和一个包含所有订购商品的单独表格。订购的商品基本上是已订购产品的副本,与其源产品相关(通过外键)和仅与订购商品相关的附加数据,如订购数量。通过这种方式,我们确保了订单数据的一致性,因为即使我们将来可能会删除旧产品,旧订单仍然以订单项的形式包含所有已订购的产品。订单和订单商品通过一个简单的交叉引用表(如Propel文档中的表格)连接,只有两个字段:order_id和item_id。现在我必须实现一个功能来计算尚未发货的产品的订购数量,这样我们就可以跟踪我们的库存中有多少仍可供销售以及实际已经售出多少,但尚未发货。为此,我必须选择与给定源产品相关且仅属于未发货订

mysql - 将 'LIKE' 与 SQL 子查询的结果一起使用

以下查询对我来说绝对没问题:SELECT*FromCustomersWHERECustomers.ContactName=(SELECTFirstNameFROMEmployeesasE,ordersasOWHERELIMIT1);但是,如果我使用LIKE而不是=来与子查询的结果进行比较,我不会得到任何结果。如何在上述查询中使用LIKE'%%'? 最佳答案 首先,这个查询应该不能正常工作:SELECT*FromCustomersWHERECustomers.ContactName=(SELECTFirstNamefromEmploy

mysql - 如果多个列在 MySQL 查询中等于某个值,如何返回 true 或 false?

我有一个数据库表(MySQL),我正在对它运行一个简单的SELECT。在此表中,我有3个字段,每个字段包含3个可能的值。在每种情况下,值都是相同的(“无”、“在线”、“物理”)。如果这些字段中的任何一个未设置为“无”,我想在我的结果中返回别名的true或false值。我可以在返回结果集后轻松地在PHP中对此进行评估,但为了轻松地对结果进行排序,我宁愿尽可能在SELECT中生成true/false。所以目前结果行可能如下所示:id:1trial_type_1:nonetrial_type_2:onlinetrial_type_3:none在这种情况下,我希望查询返回:id:1trial:

mysql - mySQL 中的子查询结构以获得最佳性能

在MSSQLServer中,此查询正常运行:SELECTcolumn1,(SELECTRelatedColumn1FROMtbl_relatedWHERErecord_id=a1.record_id)ASpseudocolumn1,(SELECTRelatedColumn2FROMtbl_relatedWHERErecord_id=a1.record_id)ASpseudocolumn2,(SELECTRelatedColumn3FROMtbl_relatedWHERErecord_id=a1.record_id)ASpseudocolumn3,(SELECTRelatedColumn

MySQL Left Join + Where问题

我有一张用户表:id、type、name和一个文章表:id、writer_id、status其中articles.writer_id=users.id。我想显示一个表格,其中包含每个用户的姓名WHEREtype='writer'以及与他们关联且状态='assigned'的文章数量。到目前为止我有:SELECTu.name,COUNT(a.id)ascountFROMusersuLEFTOUTERJOINarticlesaONa.writer_id=u.idWHEREu.type='writer'ANDa.status='assigned'GROUPBYu.name问题是,这不会显示与他

php - mysql - 如何将主查询值传递到子查询中的连接

我有以下查询(好吧......让我烦恼的部分):SELECTDISTINCT`serv`.`id`,`serv`.`name`,`prj`.`id`AS`idProject`,`prj`.`name`AS`projectName`,`units`.`id`AS`idUnit`,`units`.`name`AS`unitName`,`units`.`description`AS`unitDescription`,`units`.`descriptionLong`AS`unitLongDescription`,`units`.`address`,`units`.`telephone`,(S

mysql - 改进这个缓慢的 mysql 查询的技巧?

我使用的查询通常在一秒钟内执行,但有时需要10-40秒才能完成。实际上,我并不完全清楚子查询是如何工作的,我只知道它是有效的,因为它为每个faverprofileid提供了15行。我正在记录缓慢的查询,它告诉我检查了5823244行,这很奇怪,因为在所涉及的任何表中都没有接近这么多行(收藏夹表最多,有50,000行)。谁能给我一些建议?是否是子查询的问题,需要使用文件排序?编辑:运行解释表明用户表没有使用索引(即使id是主键)。在额外的情况下,它说:使用临时的;使用文件排序。SELECTF.id,F.created,U.username,U.fullname,U.id,I.*FROMf

mysql - 至少一个 X 但没有 Ys 查询

我偶尔会遇到这种模式,但我还没有找到一种非常令人满意的方法来解决它。假设我有一个employee表和一个review表。每个员工可以有多个评论。我想找到所有至少有一个“好”评价但没有“差”评价的员工。我还没有想出如何在事先不知道员工ID的情况下使子选择工作,而且我还没有想出正确的连接组合来实现这一点。有没有办法在没有存储过程、函数或数据服务器端的情况下做到这一点?我已经让它与那些一起工作,但我确信还有另一种方式。 最佳答案 由于您还没有发布您的数据库结构,我做了一些假设和简化(关于rating列,它可能是数字而不是字符字段)。相应调

mysql - 基于两个计算列的计算列

我正在尝试做一个相当复杂的SELECT计算,我将概括为:主要查询是一个表的通配符选择一个子查询根据条件对所有项目执行COUNT()(这很好用)另一个子查询根据另一个条件对列中的数字执行SUM()。这也可以正常工作,除非没有记录满足条件,它返回NULL。我最初想把两个子查询加起来,比如(subquery1)+(subquery2)AStotal这样可以正常工作,除非subquery2为null,在这种情况下total变为null,无论subquery1的结果是什么。我的第二个想法是尝试创建第三列来计算两个子查询(即(subquery1)AScount1,(subquery2)AScoun