草庐IT

join_group

全部标签

php - 我可以在列类型 INT 和 VARCHAR 之间进行 LEFT JOIN 吗?

我的任务是调查MSSQL查询的问题,但我不是SQL专家!这不是我的强项。我在2个不同的数据库中有2个表;忽略表引用,因为我已将它们从该查询中删除。我的问题是PERSON_CODE在一个表中是整数值,在另一个表中是VARCHAR,我将运行此查询并将数据直接解析到用户表中,同时在PHP中散列密码。但是,由于Users表中的某些字段是角色名称,例如Jane、John,而Students中的所有值都是整数,因此我收到了一个数据类型错误。下面是我到目前为止构建的查询-它非常简单:SELECTStudents.PERSON_CODE,Students.PASSWORDFROMStudentsLEF

mysql - 说明在JOIN语句中选择哪个表 "FROM"

我是SQL的新手,如果我使用点符号来选择表,我很难理解为什么JOIN语句中有一个FROM关键字。我想要的列。我从两张table中选择哪一张有关系吗?我在w3schools定义中没有看到关于哪个表是FROM表的任何解释。在下面的示例中,我如何知道为FROM选择哪个表?由于我基本上已经选择了要选择的table.column,它可以是其中之一吗?例如:SELECTCustomers.CustomerName,Orders.OrderIDFROMCustomersINNERJOINOrdersONCustomers.CustomerID=Orders.CustomerIDORDERBYCust

MySQL 问题 : LEFT JOIN on empty table

给定一个包含两个表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,我只是在这里做出假设。

mysql - GROUP BY查询优化

数据库是带有MyISAM引擎的MySQL。表定义:CREATETABLEIFNOTEXISTSmatches(idint(11)NOTNULLAUTO_INCREMENT,gameint(11)NOTNULL,userint(11)NOTNULL,opponentint(11)NOTNULL,tournamentint(11)NOTNULL,scoreint(11)NOTNULL,finishtinyint(4)NOTNULL,PRIMARYKEY(id),KEYgame(game),KEYuser(user),KEYi_gfu(game,finish,user))ENGINE=MyI

mysql - GROUP_CONCAT 具有不同分隔符的多个字段

是否可以这样做:GROUP_CONCAT(user,priceSEPARATOR',')ASitems结果是John3.99,Mike24.99我需要的是这样的:John-3.99,Mike-24.99价格字段基本上使用另一种类型的分隔符。 最佳答案 GROUP_CONCAT(CONCAT(user,'-',price)SEPARATOR',')ASitems或者只是GROUP_CONCAT(user,'-',priceSEPARATOR',')ASitems 关于mysql-GROUP

带有 LEFT JOIN 的 MySQL 聚合函数

今天是星期五下午*,我的大脑停止工作了。通常是我在回答像这样愚蠢的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

mysql - 同一张表上的多个 Left Join

我有两张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|+-----------+--------+--------+储蓄表+----------

php - 没有 GROUP BY 的聚合查询

这个查询似乎在我的旧机器上运行完美。然而,在我装有MySQL5.7.14和PHP5.6.25的新机器上,它似乎抛出了一个错误:Fatalerror:Uncaughtexception'PDOException'withmessage'SQLSTATE[42000]:Syntaxerrororaccessviolation:1140InaggregatedquerywithoutGROUPBY,expression#1ofSELECTlistcontainsnonaggregatedcolumn'pixel_perfect.users.id';thisisincompatiblewith

mysql - 使用 LIKE 搜索 GROUP_CONCAT

我有一个SQL查询,它使用GROUP_CONCAT将所有人附加到某个订单。有什么方法可以在GROUP_CONCAT字段内进行搜索吗?SELECTorders.orderID,GROUP_CONCAT(contacts.firstName,"",contacts.lastName)ASattachedContactsFROM(orders)JOINcontactsONorders.contactID=contacts.contactIDGROUPBYorders.orderIDORDERBYorders.orderIDDESC我想添加类似WHEREattachedContactsLIKE

mysql - 如何优化具有多个外连接到大表、group by 和 order by 子句的查询的执行计划?

我有以下数据库(简化):CREATETABLE`tracking`(`id`int(11)NOTNULLAUTO_INCREMENT,`manufacture`varchar(100)NOTNULL,`date_last_activity`datetimeNOTNULL,`date_created`datetimeNOTNULL,`date_updated`datetimeNOTNULL,PRIMARYKEY(`id`),KEY`manufacture`(`manufacture`),KEY`manufacture_date_last_activity`(`manufacture`,`