2

我正在尝试运行以下查询以获取 object_id 的唯一结果。我认为使用 Group_concat Distinst 可能效果最好。我需要将查询结果用作下一个查询的 where 子句中的变量。

下面的查询在 flyspeedsql 软件中运行良好,但我似乎无法在 php.ini 中看到结果。

有没有更好的方法来解决这个问题?

wordpress get_results 是正确使用的功能吗?

它应该返回链接 55,56,57

同样从这个查询的结果中,我如何设置一个可以在下一个查询的 where 子句中使用的变量?

查询 1

      $query = ("Select
         Group_Concat(Distinct $wpdb->term_relationships.object_id)
      From
           $wpdb->term_taxonomy Inner Join
           $wpdb->term_relationships On $wpdb->term_taxonomy.term_taxonomy_id =
           $wpdb->term_relationships.term_taxonomy_id Inner Join
           $wpdb->terms On $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id
       Where
           $wpdb->terms.name = 'Honda' And
           $wpdb->term_taxonomy.taxonomy = 'brands'");

       $results = $wpdb->get_results($query);
4

1 回答 1

1

你听说过 MYSQL子查询吗?

老实说,我自己并没有阅读整篇文章,但我对这个概念非常了解,可以用 1 个查询来做你想做的事情(虽然它会很可怕)

Select
     $wpdb->some_other_table.some_field
From
     $wpdb->some_other_table
Where
     $wpdb->some_other_table.some_other_field = (Select
       Group_Concat(Distinct $wpdb->term_relationships.object_id)
  From
       $wpdb->term_taxonomy Inner Join
       $wpdb->term_relationships On $wpdb->term_taxonomy.term_taxonomy_id =
       $wpdb->term_relationships.term_taxonomy_id Inner Join
       $wpdb->terms On $wpdb->term_taxonomy.term_id = $wpdb->terms.term_id
   Where
       $wpdb->terms.name = 'Honda' And
       $wpdb->term_taxonomy.taxonomy = 'brands');

我不知道这是否会 100% 满足您的需求,因为您的描述相当模糊,但我相信您可以弄清楚如果它是一个解决方案,您可以弄清楚如何为您工作。

于 2013-01-17T08:29:55.950 回答