当前位置: 首页 > 知识库问答 >
问题:

连接2个表并选择特定行

钱稳
2023-03-14

我使用Wordpress表填充javafx TableView。在WP db中,我有两个表wp_posts和wp_postmeta,我需要通过ID连接表(wp_postmeta中的post_id),并从wp_postmeta中选择特定的行(不是全部)。

例如:wp_postmeta结构post_id,meta_key,meta_value。在meta_key中有3行-_YOAST_WPSEO_TITLE、._YOAST_WPSEO_METADESC、._YOAST_WPSEO_FocusKeywords,我需要从列META_VALUE中获得这些行值。

我的代码:

ResultSet rs = connection.createStatement().executeQuery(" SELECT wp_postmeta._yoast_wpseo_title, wp_postmeta._yoast_wpseo_metadesc, wp_postmeta._yoast_wpseo_focuskeywords, wp_posts.post_title, wp_posts.post_name FROM wp_postmeta INNER JOIN wp_posts ON wp_posts.ID = wp_postmeta.post_id ");

我怎么能这么做?(我使用java9、javafx、mysql和jdbc)。或者我必须使用PreparedStatement?

共有1个答案

微生耘豪
2023-03-14

由于要根据meta_key字段的内容筛选查询,因此使用where子句:

SELECT wp_postmeta.meta_key, wp_postmeta.meta_value, wp_posts.post_title
   FROM wp_postmeta INNER JOIN  wp_posts ON wp_posts.ID = wp_postmeta.post_id
   WHERE wp_postmeta.meta_key IN ('_yoast_wpseo_title', '_yoast_wpseo_metadesc', '_yoast_wpseo_focuskeywords')

您提供了一个要匹配的元键列表。这将为每个帖子提供(最多)三行。

如果您只想为每个帖子写一行,事情就会变得更加复杂(而且可能不值得麻烦)。您可以使用group BY post_id,然后研究聚合函数

 类似资料:
  • 我创建了3个表:Employee、Department和EMPDept。 1)员工表字段为 我不知道在第三个表(即EmpDept)中包括哪些字段,以及如何将join应用于选择列 我的尝试

  • 我有两个表,我必须根据查询从两个表中选择值 我有两个表,如,每个表都有相同的列。在中,我有额外的列 我必须从性别为男性的tab1和tab2中选择所有值 怎么办? 这是正确的吗?

  • `@实体公共类影片{ }' 公开课课时{ } 我有两张桌子 表A Id | name | date | Set 表B Id |日期|表A 我想选择TableB. date所在的所有tableA 我想从表格A,表格B中选择*表格B。日期 我想要一个TableA元素列表和一个TableB的少数元素列表 在此输入图像描述 在此输入图像描述

  • 问题内容: 理想情况下,我需要一个等于 但这是非法的。 我不能使用自动递增的字段。 row_number()是需要选择的行。 我该怎么办? 编辑:嗯,我使用iSql * plus进行练习,出于某些原因,使用limit和auto_increment是非法的。我最终创建了一个序列和一个触发器,并且每次输入一个条目时,ID都增加了1。 问题答案: 您可以使用代替。 如文档所述, 第一个参数指定要返回的第

  • 我有三张桌子 表A 我需要根据传递的参数将TableA连接到TableB或TableC。ie 我尝试了以下查询 但是,这是给语法错误。有人能帮忙吗? 解决方案:

  • 我需要一些关于mysql查询的帮助。 我有两张桌子, 正确的排序必须是: 1)光-3(3票) 2)光-2(2票) 2)光-1(2票) 2)光-4(1票)