0

以下のクエリを指定すると、クエリにリストされ、日付で並べ替えられた場所 ID からすべての新しい記事を含む結果セットを取得できます。私が理解していないのは、各ロケーション ID から 1 つの結果 (最新) に制限されるようにクエリを書き直す方法です。

これを行うことは可能ですか、それとも後で結果セットを処理する必要がありますか?

前もって感謝します、

SELECT node.title AS node_title, node.nid AS nid, node.created AS node_created
FROM 
{node} node
INNER JOIN {field_data_field_story_location} field_data_field_story_location 
ON node.nid = field_data_field_story_location.entity_id 
AND (field_data_field_story_location.entity_type = 'node'
WHERE (( (node.status = '1') AND (node.type IN  ('_news_story')) 
AND (field_data_field_story_location.field_story_location_tid IN  
('38', '44', '46', '45', '30', '36', '37', '29', '33', '34', '28', '56', '21', '49', '32')) ))
ORDER BY node_created DESC
4

1 に答える 1

2

後で結果セットを処理することもできますが、大量のデータの場合は効率的ではありません。

より効率的にするには、n 個のクエリ (field_story_location_tid ごとに 1 つ) を制限 1 で記述し、UNION構文を使用して結果セットを結合できます。

于 2013-05-07T10:31:51.133 に答える