【问题标题】:MYSQL SELECT FROM two tables and cutting down queriesMYSQL 从两个表中选择并减少查询
【发布时间】:2014-02-21 07:34:52
【问题描述】:

我有两张桌子wp_term_relationshipswp_term_taxonomy

当我执行以下SELECT * FROM wp_term_taxonomy WHERE parent = '17' 时,我得到下面的图像

那我就SELECT * FROM wp_term_relationships WHERE term_taxonomy_id = '28'

哪些输出

然后object_id 被使用SELECT * FROM wp_term_relationships WHERE object_id = '88',这显示了这个项目的terms

然后我想做的是在term_taxonomy_id 旁边显示下表中的taxonomy 名称

抱歉,这是一个冗长的问题,但我希望有人能够提供帮助并可能简化它,以便从我最初查询 parent=17 的位置开始,我只能显示 DISTINCT taxonomy其中taxonomy 等于product_brand

【问题讨论】:

  • 您想只显示分类法等于product_brand的DISTINCT分类法。这不会只返回一条记录,其中taxonomy 的值是product_brand 的值

标签: php mysql wordpress mysqli woocommerce


【解决方案1】:

您可以将上一个查询替换为:

SELECT wptr.*, wptt.taxonomy
FROM wp_term_relationships wptr 
INNER JOIN wp_term_taxonomy wptt ON wptr.term_taxonomy_id = wptt.term_taxonomy_id
WHERE object_id = '88'

它使用 INNER JOIN 将 wp_term_taxonomy 中的分类名称作为 term_taxonomy_id ID。

正如 Anticom 所说,你应该看看 SQL 中的 JOIN,它们会解决你的问题并且易于使用。

【讨论】:

    【解决方案2】:

    您的问题的答案是JOINS。您也可以使用subselects,但加入表格通常更快。

    应该有类似于 MSSQL 或 PostgreSQL 等其他 DBMS 的开发人员资源。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-25
      • 1970-01-01
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多