我正在尝试运行以下查询以获取object_id的唯一结果。我认为使用Group_concat Distinst可能效果最好。我需要在下一个查询的where子句中将查询结果用作变量。
以下查询在flyspeedsql软件中运行正常,但我似乎无法在php中看到结果。
有没有更好的方法来解决这个问题?
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);
答案 0 :(得分:1)
您是否听说过MYSQL sub queries?
老实说,我自己还没有读完整篇文章,但我知道这个概念足以用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%,因为您的描述相当模糊,但我相信如果事实证明您可以弄清楚如何让这项工作适合您是一个解决方案。