我有一个连接两个表的MySQL查询。我需要将第一个表中的调用ID映射到第二个表。第二个表可能没有调用ID,因此我需要左连接表。下面是查询,大约需要125秒才能完成。selectuniqueid,TRANTAB.DISP,TRANTAB.DIALFROMcloser_logLEFTJOIN(selectcall_uniqueId,sum(dispo_duration)asDISP,sum(dialing_duration)asDIALfromagent_transition_loggroupbycall_uniqueId)TRANTABoncloser_log.uniqueid=TRAN
我在创建一个选择查询时遇到问题,该查询将检索不在游戏中的所有用户ID和日期之间的可用性。示例:检索不在日期2017-08-10和2017-08-12之间的所有用户。获取[3,4,5]用户|Id|Name||1|Jonh||2|Mark||3|Caroline||4|David||5|George|游戏|Id|User_Id|Start_Date|End_Date||1|1|2017-06-01|2017-06-01||2|1|2017-08-12|2017-08-13||3|4|2017-08-13|2017-08-14|可用性|Id|User_Id|Start_Date|End_Da
我确定这有一个非常简单的答案,但我似乎找不到它(不确定要搜索什么!)。标准的计数/分组查询可能如下所示:SELECTCOUNT(`t2`.`name`)FROM`table_1``t1`LEFTJOIN`table_2``t2`ON`t1`.`key_id`=`t2`.`key_id`WHERE`t1`.`another_column`=123这按预期工作,如果没有找到行则返回0。然而:SELECTCOUNT(`t2`.`name`)FROM`table_1``t1`LEFTJOIN`table_2``t2`ON`t1`.`key_id`=`t2`.`key_id`WHERE`t1`.
我需要用where条件左连接两个表:表time_tableidridstart_dateend_date122017-07-0100:00:002018-11-0100:00:00252017-01-0100:00:002017-06-0100:00:00322018-07-0100:00:002020-11-0100:00:00表record_tableidnamedate1record12017-10-0100:00:002record22017-02-0100:00:003record32017-10-0100:00:00我需要获取给定日期范围内的所有记录。在上面的示例中,我只需
我的任务是调查MSSQL查询的问题,但我不是SQL专家!这不是我的强项。我在2个不同的数据库中有2个表;忽略表引用,因为我已将它们从该查询中删除。我的问题是PERSON_CODE在一个表中是整数值,在另一个表中是VARCHAR,我将运行此查询并将数据直接解析到用户表中,同时在PHP中散列密码。但是,由于Users表中的某些字段是角色名称,例如Jane、John,而Students中的所有值都是整数,因此我收到了一个数据类型错误。下面是我到目前为止构建的查询-它非常简单:SELECTStudents.PERSON_CODE,Students.PASSWORDFROMStudentsLEF
给定一个包含两个表X和Y的数据库,我有一个查询应该LEFTJOIN两个表的属性X.a1和Y.b1。我使用了以下查询:SELECTX.a1,X.a2,Y.b1,Y.b2FROMXLEFTJOINYON(X.a1=Y.b1)我认为这足以工作,即使Y当前是一个空表。但是,查询中断是因为表Y似乎是空的。有什么方法可以重新格式化此查询,以便即使Y是一个空表,LEFTJOIN也不会中断?或者我是否只需要始终确保表Y中有一些数据,即使它与表X中的任何内容都不匹配(因此LEFT加入). 最佳答案 由于您没有发布您的实际SQL,我只是在这里做出假设。
今天是星期五下午*,我的大脑停止工作了。通常是我在回答像这样愚蠢的SQL问题,抱歉!我试图通过将后者左连接到前者来获取一个表以及另一个表的列的最大值。SELECTjobs.*,MAX(notes.`timestamp`)AScomplete_dateFROMjobsLEFTJOINnotesON(jobs.id=notes.job_id)WHERE(jobs.status="complete"ORjobs.status="closed")AND(notes.type="complete"ORnotes.typeISNULL)GROUPBYjobs.idORDERBYcomplete_d
我有两张table。第一张表=>成员{member_id,name,active}第二张表=>储蓄{savings_id,member_id,month,year,amount,type,paid}成员表+-----------+--------+--------+|member_id|name|active|+-----------+--------+--------+|105|Andri|1||106|Steve|1||110|Soraya|1||111|Eva|1||112|Sonia|1|+-----------+--------+--------+储蓄表+----------
请看简单http://sqlfiddle.com/#!9/e853f/1针对运行中的这个问题。我指的是MySQLver5.6.12-log据我了解,对于最右侧数据集中左侧数据集中的键在右侧数据集中不存在的列,左联接返回NULL。但是,即使右侧不存在左侧键,我也会从右侧获取返回的数据。谁能解释一下这是怎么回事?SQLfiddle创建:一个有6行的表,每行只包含一个整数ID第二个表有3行,其中包含一些整数ID加上两个更多INT字段基于第二个表的View,该表返回3行,其中包含整数ID和一个从其他两个INT字段派生的文本字段(很明显,View中的3个ID对应6行表中的部分ID。)SQLSEL
我有这些表:通知内部身份cdateDATETIME...主题编号名字notice_themeid_noticeid_theme我想获取每个主题的最新通知。SELECTid_theme,n.idFROMnotice_themeLEFTJOIN(SELECTid,cdateFROMnoticeORDERBYcdateDESC)ASnONnotice_theme.id_notice=n.idGROUPBYid_theme结果不好。一个主意?谢谢。 最佳答案 有很多方法可以解决这个问题,但我习惯于这样做。需要一个额外的子查询来分别计算每个I