草庐IT

pic_left

全部标签

MySQL Select Distinct with Left Join?

我正在尝试获取没有公司级别注释的company_id的列表。但是,该公司可能有位置级别的注释。company-------------------------company_idnamedeleted1Foo02Bar03Baz0location-----------------------location_idcompany_id617283note-----------------------------------------note_idcompany_idlocation_iddeleted10260//location-levelnote11170//location-le

MySQL LEFT JOIN 计数列Join 3个表

我有3个表,它们是我的数据库的一部分。debates(id'PK',unit_id,starter_pack_id'FK',title)debate_stakeholders(id'PK',starter_pack_id'FK',name)debate_groups(id'PK',debate_id'FK',student_id,stakeholder_id'FK')为此目的,所有辩论共享相同的利益相关者(总共4个利益相关者,所有这些利益相关者都被引用到所有辩论中)。我的预期结果的目的是查询所有辩论,这表明debates.id,debates.title,debate_stakehol

MySQL LEFT JOIN 与 IF

我有这个问题:SELECTr.*,d.rateNameFROMratingsrLEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')ORDERBYr.rateTimeDESC这个工作正常。现在我有了第二个数据表。在一个查询中使用IF进行更改,还是进行两个查询并合并结果的唯一方法?我试着向你展示我的意思:SELECTr.*,d.rateNameFROMratingsr(IFr.isOther==0)LEFTJOINrate_datadON(r.rateID=d.rateIDANDd.rateName!='')(ELSEIFr.is

php - MYSQL DATE 函数在 LEFT JOIN 中运行异常缓慢

添加行时:LEFTJOINcore_records_salesassalesONDATE(appointments.date)=DATE(sales.date_sold)根据我的查询,它将脚本的运行时间从大约8秒增加到2-3分钟。会不会是某些数据导致了这个问题,还是我没有正确实现该功能?我需要使用DATE()因为我需要它们是同一天但日期字段是DATETIME 最佳答案 这几乎可以肯定是appointments.date字段被索引的问题。添加DATE()函数的使用使其无法使用索引,从而强制进行表扫描。我以前不得不处理这个问题,我发现解

mysql - LEFT JOIN 3列获取用户名

我需要加入来自3个不同表的三列,贡献表:+-----------+---------------------+|record_id|contributor_user_id|+-----------+---------------------+|1|2|+-----------+---------------------+|1|5|+-----------+---------------------+成员表:+--------------+---------+|username|user_id|+--------------+---------+|Test|1|+------------

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