草庐IT

pic_left

全部标签

mysql - 当我使用 left join 和 group by 时,sum 不起作用

我有两个表:进口和订单:我分别附上了它们。我想要以下内容:1.imports表中相同product_id的总金额2.订单表中相同product_id的件的总和作为状态明智。我的查询是:SELECT`Import`.*,SUM(casewhenorders.status="sold"THENorders.pieceselse0end)astotal_sell,SUM(casewhenorders.status="Nocontact"THENorders.pieceselse0end)asno_contact,SUM(casewhenorders.status="confirmed"THE

使用 LEFT JOIN 查询时,MySQL 空表返回 TRUE

我刚刚在MySQL5.7中遇到了一个在MySQL5.5中没有出现的奇怪行为(错误?)。好尴尬,我需要一个例子来解释它。在2个表上使用左连接创建一个表确保第二个表是空的(没有记录),但它是通过在其中一个字段中写入静态值来构建的。无条件的左连接产生N行(如预期的那样)带有从不匹配的条件的Leftjoin也会产生N行。###EXAMPLE#####CREATETABLEScreatetablePCPL(K1int);##Table1createtableAUX(K2int);##Table2##FILLINTABLESinsertintoPCPLvalues(1),(2),(3);##fil

MYSQL LEFT JOIN 3 个表包含 NULL 集

试图对其他SO用户的问题/答案进行“逆向工程”,但没有成功。JOINS仍然让我望而却步。我有三个表:race(所有比赛的列表)、result(每场比赛的结果)、driver(车手信息)。并非所有车手都参加过特定赛道的所有比赛。比赛台|race_id|track_id|year|complete|+-----------+------------+--------+----------+|1|1|2006|1||...|...|...|...||21|1|2007|1||...|...|...|...||135|1|2008|1||...|...|...|...||215|1|2009|

mysql - 使用 WHERE 选择 LEFT/RIGHT JOIN 并返回 NULL

我需要将以下两个有效查询转换为一个查询,但所有内容由于各种原因,我尝试在我身上死去。我的最终结果是尝试列出所有手头上的软件,并显示为所查询的特定PC安装了哪些软件,哪些未安装。对于已安装的软件,列出名称,否则为名称显示NULL。我已经在where子句中尝试了一些子选择语句,这些语句给了我一个没有错误的结果,但不是正确的结果。感谢您的帮助。qry1SELECTdevice_software.sw_idFROMSoftware_deviceLEFTJOINDeviceONSoftware_device.d_id=Device.d_idWHEREDevice.d_id=1;qry2SELEC

mysql - 多个查询还是 LEFT JOIN 更快?

我有2个表:TABLEtb1idint(11)col1int(11)PRIMARY(id)TABLEtb2idint(11)col2int(11)tb1_idint(11)PRIMARY(id)INDEX(tb1_id)UNIQUE(col2,tb1_id)我正在尝试获取tb1中的行,其中col1=123,然后检查[col2=456,tb1_id=]中是否存在一对唯一的tb2。我可以选择2个:SELECTtb1.*FRoMtb1WHEREtb1.col1=123foreachinresultsSELECTCOUNT(*)FROMtb2WHEREtb2.col2=456ANDtb2.tb

MySQL : Left Join and Inner Join in a subquery

我有3个表,我已经加入,但我想从表3添加一个字段,该字段与表2内部连接。Table1idnamesurnametable2_fkTable2identry_nameentry_codetable3_fkTable3idtype_nametype_descSELECT`Name`,`TypeDescription`(SELECTTable1.nameAS`Name`,Table1.surnameAS`Surname`,t2.entry_nameAS`Entry`,t2.entry_codeAS`EntryCode`,t3.type_nameAS`TypeName`,t3.type_des

mysql - LEFT JOIN 在同一张表上加倍行

我有两个表正在尝试进行LEFT连接,但没有得到预期的结果。房间在不同的日子有多个child,但是child只有在他们开始并且当天有分配的时间后才算在一个房间里。我要实现的输出是这样的。Room|MaxNum|Mon(Week1)|Tue(Week1)|Mon(Week2)|Tue(Week2)Blue|5|4|4|3|2Green|10|10|10|9|9Red|15|15|15|15|15这是架构和一些数据...createtableRooms(idINT,RoomNameVARCHAR(10),MaxNumINT);createtableChildren(idINT,RoomIDI

sql - 使用 LEFT JOIN 只选择一个连接行

我正在尝试左联接两个表,以获取TABLE_1中所有行的列表和TABLE_2中的一个相关行。我已经尝试过LEFTJOIN和GROUPBYc_id,但是我不希望TABLE_2中的相关行按isHeadOfficeDESC排序。下面是一些示例表TABLE1c_idName----------------1USA2Canada3England4France5SpainTABLE2o_idc_idOfficeisHeadOffice------------------------------------------------11NewYork121Washington031Boston042To

php - MYSQL LEFT JOIN 返回重复表结果

更新ScrolltobottemforsqlCodeandoutput我最近开始研究公寓数据库。数据库包含2个表“属性”表存储有关公寓大楼的基本信息(联系信息和照片)。它由propid列引用表b“楼层平面图”存储有关出租的各个单元的信息。定价信息、面积和公寓类型。floorplan表也被propid列引用,以允许我们将2个表链接在一起。它也有自己的唯一标识符,但未被使用。每个综合体通常有5-10个平面图。我正在为我们网站上的客户创建一个前端搜索界面。我需要能够搜索平面图符合搜索条件的特性。但是在执行join语句时,我注意到每次发现其中一个平面图符合搜索条件时,它都会给我一个包含相同属性

MySQL LEFT OUTER JOIN 不过滤记录

我正在尝试一个简单的LEFTJOIN查询,我想要LEFT表中的记录RIGHT表中没有匹配项。SELECTLeftTable.ID,RightTable.IDasNullIDFROMLeftTableLEFTOUTERJOINRightTableONRightTable.ID=LeftTable.ID那么,如何选择结果中只包含NullID为NULL的记录的行呢?我认为LEFTOUTERJOIN是必需的,但所有左记录都与匹配和不匹配的右记录一起返回,而我只想要左记录和不匹配的右记录。数据库引擎是InnoDB。例如,查询返回以下内容:LeftTable.ID,NullID1,12,Null我