草庐IT

mysql - 我的查询需要哪种连接类型

我有一个成员(member)声望积分表。rep_id|mem_id|activity|points|article_id|comment_id---------|------------|-------------------|------------|----------------|-----------------1|99|PostedComment|5|10343|2394032|99|Introduction|50||3|99|LikedComment|5|748|9302如您所见,并非所有声誉点都有article_id或comment_id,但是当我列出这些记录时,如果记录

MySQL 使用带有 2 个查询、子查询或连接的 select?

关于我的上一个问题(MySQLiperformance,multiple(separate)queriesvssubqueries),我遇到了另一个问题。有时我使用子查询从另一个表中选择值(例如,用户名连接到一个ID),但我不确定select-in-select,因为它似乎不是非常干净,我不确定性能。子查询可能如下所示:SELECT(SELECT`user_name`FROM`users`WHERE`user_id`=table2.user_id)AS`user_name`,`value1`,`value2`FROM`table2`....对表1的结果使用一个单独的查询,对表2使用另一

mysql - 多个内部联接以获得复杂的报告,但不起作用

对于下面的模式,我需要得到这个报告这是我的selectc.name,sr.name,count(o.order_id)fromcontactcINNERJOINaccountsaONc.account_id=a.account_idINNERJOINsales_repssrONa.sales_rep_id=sr.sales_rep_idINNERJOINordersoONa.account_id=o.account_idwhereo.order_idin(selectSUM(oi.quantity*p.price)fromorder_itemsoiINNERJOINpartsponoi

mysql - 如果列值不在一组不同列的值中,则 SQL 选择行

对于每个identifier,当receivedcountry不等于任何deliveredquantity/strong>国家?由于我的表很大,因此我需要针对以下步骤进行高效查询。这些是我认为可以做到这一点的步骤,当然你不需要遵循它们:)为每个标识符创建一组“已交付”国家/地区。查看每个标识符的“已收到”是否是这些国家/地区中的任何一个。如果没有匹配,返回此结果。起始表:identifierdeliveredreceivedquantity------------------------------------------------1USAFrance4321FranceUSA450

php - MySQL 左连接 : Limit parent table

我正在尝试从数据库中获取结果,但将结果限制在右侧SELECTposts.text,comments.textFROMpostsLEFTJOINcommentsONcomments.postid=post.idLimit0,5如果有5条评论,上面将返回第一个帖子的5条评论。但是我想返回所有评论,但在5个帖子后停止查询。我该怎么做?抱歉,一开始我的问题有点不清楚,因为我写错了LEFTJOIN..这是我的问题的解决方案:SELECTposts.text,comments.textFROM(SELECT*FROMpostsLimit0,5)LEFTJOINcommentsONcomments.

join3表,行不相等,列不匹配

我有三张桌子需要创建一个表。Table1和表2具有共同的列,即Col1,这是一个ID。其中表1的COL1等于表2的Col1,我们需要获取输出表的数据,然后在输出表中的每一行中添加COL9。表格1col1col2col3col4a12abcusadolb12defIninrc12ghiUkgbptable2col1col5col6a12586svcb12596swfc12600chld12897svce12912swf表3col7col8clo91.121/6/17test1输出表col1col2col3col4col6col7col9a12abcusadol586svctest1b12defI

mysql - 使用 INNER JOIN 更新的查询语法错误

嘿,我有一个带有内部连接的更新查询,但我无法获得正确的语法来使其工作......这就是我目前拥有的:UPDATEt1SETt1.quantity=t1.quantity-?FROMitemst1INNERJOINuserst2ONt1.id=t2.idWHEREt1.item_id=?ANDt2.uid=?语法错误说它就在附近:near'FROMitemst1INNERJOINuserst2ONt1.id=我正在使用pdo封装你想知道为什么我有问号!希望你能帮上忙! 最佳答案 尝试下面的查询,你的语法在SQLServer中有效,但在

php - 在 codeigniter 中转换复杂的 JOIN 查询

我正在将我现有的网站转换为CI,几天来我一直在尝试将此查询转换为CI友好的代码:$result=mysql_query("SELECTt1.mnumber,t1.mcontent,t1.mcontactFROMsmst1JOIN(SELECTmContent,mcontact,mnumber,MAX(mID)mIDFROMsmsGROUPBYmContact)t2ONt1.mcontact=t2.mcontactANDt1.mid=t2.midGROUPBYt1.mContactORDERBYt1.midDESC");但无论我怎么尝试,我都无法在CI上得到正确的结果。我希望你们能帮帮我

mysql - 在子查询中处理 null

我有两张table。假设一个有操作列表(我处理的原始表有发送和接收的消息列表),另一个是用户表,其中包含用户的全名。我已经复制了我现在所拥有的问题。在操作表(消息表)中找到的用户可能不存在于用户表中。我正在使用子查询根据操作表的原始查询中的用户名选择用户的全名。当actions表中的用户不存在于users表中时,MySQL返回一个NULL,这是预期的。但相反,我希望它返回原始用户名。比如说,praveen既存在于用户表中,也存在于操作表中。所以,我得到这样的信息:PraveenKumarlikessomething.。比如说,我有另一个用户名bluff,它不在users表中,操作变成这

MySQL结合where子句的join性能

我目前收到这个查询:SELECTlocation.street,location.zip,location.city,surface,price_buy,price_rentalFROMbuildingsJOINlocationONbuilding.location_id=location.location_idWHEREsurface>1000期望的行为(在性能方面)将是:用surface>1000过滤掉buildings的所有结果检索与剩余的buildings条目相对应的location数据。我的查询目前正在这样做吗?从句法上讲,我希望WHERE需要在JOIN之前,但这有可能吗?M