我有三个表table1、table2和table2。table1.parent_id是table2或table3中一条记录的id,取决于table1.parent_type的值。现在我想根据table1.parent_type的值将table1与table2和table3连接起来。这可以使用UNION来完成。但是还有其他方法吗?这是我当前的查询(SELECTc.*,a.titleFROMtable1cLEFTOUTERJOINtable2aONc.parent_id=a.idWHEREc.parent_type=0)UNION(SELECTc.*,p.titleFROMtable1cL
我需要写这样的查询,有什么帮助吗?selectid,parent,faq,(selectcount(*)fromfaq_tablewhereparent=(selectidfromfaq_questions)groupbyid)asreplyfromfaq_table此表存储问题和答案(如FAQ之类的东西),而答案在parent列中获取其问题ID的值。理想情况下,我还想添加一个名为par的第二列,其中所有问题的值都将为1。喜欢:id|parent|faq19|0|nameapresidentoftheUS20|19|Bush21|19|Obama22|0|CanCanadawinthe
SELECT*FROMTable_ALEFTJOINTable_BON(Table_A.A_ID=Table_B.A_ID)INNERJOINTable_CON(Table_C.C_ID=Table_B.C_ID)WHERETable_A.ID=3当前返回0行。我如何设置它以便我总是得到Table_A,即使没有Table_B或Table_C的行。我仍然想保持Table_B和Table_C之间的INNERJOIN,这样我就永远不会得到没有C的B。 最佳答案 子查询表B和表C。例如SELECT*FROMTable_ALEFTJOIN(S
更新ScrolltobottemforsqlCodeandoutput我最近开始研究公寓数据库。数据库包含2个表“属性”表存储有关公寓大楼的基本信息(联系信息和照片)。它由propid列引用表b“楼层平面图”存储有关出租的各个单元的信息。定价信息、面积和公寓类型。floorplan表也被propid列引用,以允许我们将2个表链接在一起。它也有自己的唯一标识符,但未被使用。每个综合体通常有5-10个平面图。我正在为我们网站上的客户创建一个前端搜索界面。我需要能够搜索平面图符合搜索条件的特性。但是在执行join语句时,我注意到每次发现其中一个平面图符合搜索条件时,它都会给我一个包含相同属性
我想加入一个表,其中包含组之间的n:m关系。(组在单独的表中定义)。此表仅包含列出member_group_id和parent_group_id的条目。给定这个结构:id(int)|member_group_id(int)|parent_group_id(int)“基本”查询如下所示:selectp1.group_id,p2.group_id,p1.member_group_id,p2.member_group_idfromgroup_member_groupasp1joingroup_member_groupasp2onp2.member_group_id=p1.member_gro
我需要创建一个查询来组合两个表中的数据,我认为可能是JOIN和UNION的组合。在此示例中,我需要列出所有状态为事件的姓名,仅一次,以及他们对Wine、苏打水、晚餐、甜点和水果的偏好组合,按姓名排序。我不确定单独使用JOIN是否可行,因为名称并不总是在两个表中,而且UNION很棘手,因为它们没有相同的列。我曾尝试使用空值来使UNION工作,但这一直为每个名称提供重复的行,而不是将它们按名称分组为一行。DRINK====================================namestatuswinesoda----------------------------JohnSmi
我有2个表:manuscript和manuscript_log。我想为每个手稿显示在同一行的相应日志。例子:我有两份手稿1和2。稿件1有2条日志,稿件2有3条日志。我想在查询中得到两个结果,按手稿ID分组:manuscript_idmanuscript_log1.1,22.3,4,5SELECTmanuscript.id,manuscript_log.log_numberFROMmanuscriptINNERJOINmanuscript_logONmanuscript.id=manuscript_log.manuscript_id 最佳答案
我有一张表,代表两个用户之间的友谊。每个条目都是单向的;友谊需要两个条目来表示。我想保持这种状态。user1_id|user2_id43444443我很好奇查询这种设置的最佳方式是什么。例如,如何查询特定用户的所有好友列表?我想出的解决方案是将友谊表反转并内联到自身上,首先获取所有完整对的列表,然后使用普通的WHERE子句:SELECTf.user2_idFROMfriendshipsfINNERJOINfriendshipsf2ONf.user1_id=f2.user2_id&&f.user2_id=f2.user1_idWHEREf.user1_id=43;为了进入更有趣的情况,我
1、连接数据,但是顺序会受影响在使用JOIN连接临时表或子查询时,无法保证结果的顺序与特定值的顺序完全一致。这是因为在查询过程中,数据库优化器可能会选择不同的执行计划,导致结果的顺序发生变化。SELECTTABLE_NAME.*FROMTABLE_NAMEJOIN(SELECT'AA'ASIDUNIONALLSELECT'BB'ASIDUNIONALLSELECT'CC'ASID)AStemp_tableONTABLE_NAME.ID=temp_table.ID;2、连接数据,按照连接的数据排序在下面的示例中,我们在临时表(或子查询)temp_table中添加了一个sort_order列,用于
我有两个表,一个叫facebook_posts,另一个叫facebook_post_metrics。facebook_posts看起来像NAMEida1b1c4d4facebook_post_metrics看起来像numberFBIDDate_ExecutedUser_Executed112012-09-1816:10:44.917admin212012-09-2511:39:01.000jeff342012-09-2513:20:09.930steve442012-09-2513:05:09.953marsha因此,用于内部联接的公共(public)列是来自facebook_post