草庐IT

left-hand

全部标签

mysql - 打印嵌套 Left Join + Union MySQL 查询中的所有行

我有一个查询,用于计算循环月度保留金的信息。该项目每个月都有一定的小时数分配给它,每个月的不同时间段开始(例如,2月5日至3月4日)。查询结果的列包括:项目名称记录的总小时数每月剩余小时数经期的最后一天剩余天数例如,项目A记录了15小时,每月还剩5小时。本期最后一天为11月17日,距离今天还有3天。当前查询采用4个表,这些表使用左连接来打印所有客户,即使没有记录小时数,然后它使用嵌套子查询(第8-86行)计算第2、3、4列和5。但是,第4列和第5列不会打印,它们始终显示为NULL。(那些是经期的最后一天和剩余天数)。您可以在此处的SQLfiddle链接中查看模式+查询代码:http:/

mysql - 如果没有匹配项,则使用默认值执行 LEFT JOIN

首先,我什至不确定LEFTJOIN是否是做我想做的事情的最佳方式,所以我会尽力解释。我有2个表-一个包含站点列表,另一个包含角色列表。一个用户可能只有一个角色,但他们可能拥有与网站一样多的角色。表“站点”site_id|site_name|site_domain---------------------------------------1|SiteA|sitea.com2|SiteB|siteb.com表“角色”site_id|user_id|role_id---------------------------------1|1|11|2|12|2|2在我上面的例子中,用户1在一个网

mysql - 旋转非规范化行——将多行转换为单行——导致 LEFT JOIN 速度慢

我正在尝试获取一个表,其中字符串排列在记录中,这些记录是三个字符串的簇,并返回一个查询,其中数据在一个记录中。表定义是:CREATETABLEXerox.FIM2(KPINCHAR(18)NOTNULLCOMMENT'PartNumber',KSEQDECIMAL(2,0)NOTNULLCOMMENT'SequenceNumber',SDS1CHAR(40)NOTNULLCOMMENT'SupplementalDescription1',SDS2CHAR(30)NOTNULLCOMMENT'SupplementalDescription2',SDS3CHAR(30)NOTNULLCOM

mysql - 在大表上使用 LEFT JOIN 查询真的很慢

执行以下查询大约需要12秒。我试过优化但没能做到。要连接的表非常大(>8.000.000条记录)。SELECTp0_.idASid_0,p0_.eanASean_1,p0_.brandASbrand_2,p0_.typeAStype_3,p0_.retail_priceASretail_price_4,p0_.target_priceAStarget_price_5,min(NULLIF(c1_.delivery_price,0))ASsclr_6,COALESCE(((p0_.target_price-min(NULLIF(c1_.delivery_price,0)))/p0_.ta

mysql - 带 COUNT 的 LEFT JOIN 返回意外值

我有两个表:发布:id|body|author|type|date1|hi!|Igor|2|04-102|hello!|Igor|1|04-103|lol|Igor|1|04-104|good!|Igor|3|04-105|nice!|Igor|2|04-106|count|Igor|3|04-107|left|Igor|3|04-108|join|Igor|4|04-10喜欢:id|author|post_id1|Igor|22|Igor|53|Igor|64|Igor|8我想做一个查询,返回Igor发布的类型2、3或4的帖子数量以及Igor发布的点赞数量,所以,我做了:SELECT

mysql - MySQL 会忽略 LEFT JOIN 子句中的 AND 吗?

当我尝试这样做时:SELECTorder.id,order.active,user.idFROMorderLEFTJOINuseronuser.id=order.user_idANDorder.active=1;它返回具有active=0ORactive=1的结果集只有在将我的AND子句移动到WHERE后,我才能得到预期的结果:SELECTorder.id,order.active,user.idFROMorderLEFTJOINuseronuser.id=order.user_idWHEREorder.active=1;现在只显示active=1的行 最佳

mysql - 如何在 LEFT JOIN 上使用 LIMIT?

我有2个名为categories和products的表,具有以下关系:categories.category_id=products.product_category_id我想显示所有类别中的2个产品![[category1]=>['category_id'=>1,'category_title'=>'category_title1',[products]=>['0'=>['product_category_id'=>1,'product_id'=>51,'product_title'=>'product_title1',],'1'=>['product_category_id'=>1

sql - SQL/MySQL中没有Primary ID索引时,是否可以使用Left Outer Join来查找重复项?

我想尝试使用OuterJoin找出表中的重复项:如果一个表有PrimaryIndexID,那么下面的外连接可以找出重名:mysql>select*fromgifts;+--------+------------+-----------------+---------------------+|giftID|name|filename|effectiveTime|+--------+------------+-----------------+---------------------+|2|teddybear|bear.jpg|2010-04-2404:36:03||3|coffee|

php - MySQL Left Join、Group By、Order By、Limit = 糟糕的性能

我目前正在开发一个应用程序,允许用户使用各种参数搜索文档数据库并返回一组分页结果。我正在用PHP/MySQL构建它,这不是我常用的开发平台,但到目前为止它已经很棒了。我遇到的问题是,为了返回完整的结果集,我必须在每个表上使用LEFTJOIN,这完全破坏了我的性能。开发数据库的人说我正在使用的查询将返回正确的结果,所以这就是我必须使用的。查询在下面,我绝不是SQL专家,需要一些帮助。我一直在想,将查询拆分成子查询可能会更好?以下是我当前的查询:SELECTd.title,d.deposition_id,d.folio_start,d.folio_end,pl.place_id,p.sur

mysql - Left Join 2 tables on 1 table

这一定很简单,但我想不出任何解决方案,也无法在某处找到答案...我得到了“用户”表和一张表'blogs'(user_id,blogpost)和一张表“消息”(user_id,消息)我想得到以下结果:User|count(blogs)|count(messages)Jim|0|3Tom|2|3Tim|0|1Foo|2|0所以我做的是:SELECTu.id,count(b.id),count(m.id)FROM`users`uLEFTJOINblogsbONb.user_id=u.idLEFTJOINmessagesmONm.user_id=u.idGROUPBYu.id这显然是行不通的,