草庐IT

mysql - 在关系数据库中访问结果时出错

我有一个表格设置如下我正在尝试编写一个查询以返回结果,其中status=1confirmed=1且userID=specified。我希望结果显示用户ID、与该用户ID关联的名称、好友ID和与该好友ID关联的名称。到目前为止,按照网络上的教程,我提出了以下查询SELECT`freinds.UserID`,`freinds.FreindID`,`users.User`,`users.User`FROM`freinds`WHERE`UserID`=6INNERJOIN`users`on`users.ID`=6AND`users.ID`=`freinds.FreindID`但是我在这个查询中

mysql - LEFT JOIN 查询返回多个结果

我有下面的查询,它查看一个数据表,其中每一行都有一个ID、日期/时间和关键操作(以及其他数据)。此表无法更改,也不在我的控制范围内。查询发现Create操作(始终是第一个)的出现,提取ID和创建日期/时间,然后提取其他关键操作(添加信息、预约、接受)的日期/时间一行数据:SELECT_create.IDASID,_create.`datetime`ASCreate,_inform.`datetime`ASAdd_Info,_bookap.`datetime`ASBook_Appt,_accept.`datetime`ASAccept,FROMtableAS_createLEFTJOIN

mysql - 面对多表连接的问题

有4个表。项目(item_id、item_name、item_owner)组(grp_id、grp_name、grp_owner)用户(grp_id、usr_ref)分享(item_id,grp_id)我的目标是获取所有项目的列表,其中item_owner=user_id(例如123)或user_id属于与该项目共享的组。检索与特定user_id所属的组共享的所有项目的基本查询实现将是selecti.item_idfromitemsileftouterjoinshareonshare.item_id=i.item_idleftouterjoinusersonusers.grp_id=s

MySQL 关系查询

我需要查询建议。我有3个表,表架构如下:clause_type:-------------clause_type_idclause_type_title--------------------------1clausetype12clausetype2clause:-------clause_idclause_type_idclause_titleposition_no--------------------------------------------11clause1121clause2232clause31clause_type_link_clause:------------

mysql - 使用 WHERE 语句过滤其他表后列出特定表的所有结果

我正在尝试为网页创建一个类似博客的简单新闻片。为此,我有三个表:一个包含帖子,另一个包含类别,另一个将帖子与类别链接(称为“关系”)。我已经能够处理大部分查询,但我仍然无法处理一个问题:类别blogroll。主要问题是我想列出每个特定帖子的所有关系,但因为我是按特定关系过滤的,所以它当然只显示这个。例子:表1(帖子):POST_IDPOST_TITLEPOST_CONTENT1TESTTEST2TES2TEST2表2(类别):CAT_IDCAT_NAME1NEWS2PRODUCTS表3(关系):REL_POSTREL_CAT111222因此,帖子1属于“新闻”和“产品”,如果我要求“产

mysql - 使用 INNER JOIN 和 WHERE 更新 MySQL 中的两个表

我不认为这是可能的,但我想我会检查它是否可行,如果不行,请寻求最有效的替代方案。目标:使用带有InnerJoin和WHERE的查询更新table_1和table_2目前我有:UPDATEtable_1JOINtable_2ONtable_1.user_id=table_2.user_idSETtable_1.value=9,table_2.value_fan=43WHEREtable_1.user_id=1ANDtable_2.fan_id=1这根据WHERE条件正确更新了table_2,但是所有条目都在table_1中更新,其中table_1.user_id=1...忽略条件tabl

mysql - 左外连接?行编号问题

我有三张表,一张有主题,一张用于用户数据,一张用于存储用户订阅。一个用户可能订阅/不订阅它的可选,所以为了获得所有用户列表及其订阅状态,我使用leftjoinasSET@rnum=0;SELECT(@rnum:=@rnum+1)ASrn,user.user_name,subs.statusFROMuser_tblLEFTJOINsubs_tblONuser.uid=subs.uidLIMIT0,10;我曾经使用这个输出作为一个整体,但现在随着数据增长,我在我的应用程序中实现了这个输出的分页。为了分页,我创建了一个row_num机制,我将存储最后显示的row_num,下一页将从last_

mysql - 基于 JOIN ON 参数或 WHERE 参数限制 SQL 结果

我正在尝试确定在JOINON子句或WHERE子句本身的MySQL查询中使用选择参数是否有任何已知的好处。我确定并知道返回的结果是相同的,在本地测试时“查询时间”似乎几乎可以忽略不计,但想看看是否有任何专家意见。这两者在后端有区别吗?如果有,哪个更好?v1SELECT*FROMusersaJOINuser_photosbON(b.userid=a.userid)WHEREa.userid=12345ANDb.photo_type=1或v2SELECT*FROMusersaJOINuser_photosbON(b.userid=a.useridANDb.photo_type=1)WHERE

mysql - MySQL根据日期选择记录

我有两个表——我们称它们为grade和test——具有通过第三个表上的键关联的信息,我们将调用student。如果test包含列student_id、test_topic、test_date和grade包含列student_id、grade和entered_date,我希望能够查看grade中的记录>表,并根据student_id和entered_date,仅将其与test中具有相同student_id的记录相关联>谁的日期最近。我当前的查询似乎返回与所有先前测试相关的每个等级,而不仅仅是最近的一个。我不知道如何限制它,以便它显示每个成绩仅与输入成绩时的最新测试相匹配。我认为我没有很好

mysql - 添加 INNER JOIN 以将 ID 转换为另一个表中的值

我有一个生成以下输出的SQL脚本:+------------+------------+--------------------+----------------------+---------------------+|CUSTOMERID|TOTALCOUNT|VALIDWARRANTYCOUNT|EXPIREDWARRANTYCOUNT|LASTPURCHASED|+------------+------------+--------------------+----------------------+---------------------+|1|5|5|0|2013-12