0
サブクエリと多くの左外部結合を含むクエリがあります。私のサブクエリ内では、最新のblog_date
でレコードを注文し、結果を10レコードに制限しています。このサブクエリは、そのレコードに関する追加情報と一致する他の結合を持つレコードの順序を指定する必要がありますが、LEFT OUTER JOIN
を追加するとblog_date
の順序は無視されます。これは、私が注文を持続するための重要な要素を欠いているか、LEFT OUTER JOIN
が正しい結合ではないことを信じさせてくれました。ここで SQLの外部結合がサブクエリの順序に影響を及ぼす
は私の完全なクエリです:私は最初に(
user
)に参加含まれている場合、レコードが正しい順序になっている。ここSELECT `b`.`blog_id`, `b`.`blog_date`,`b`.`title`, `u`.`user_id`, `u`.`first_name`, `c`.`category_name`, `d`.`discovery_source_name`, `bc`.`comment`, `bf`.`file`
FROM (SELECT * FROM `blog` ORDER BY `blog`.`blog_date` DESC limit 10) `b`
LEFT OUTER JOIN `user` `u` ON `b`.`user_id` = `u`.`user_id` AND `u`.`organization_id` = 1
LEFT OUTER JOIN `category` `c` ON `b`.`category_id` = `c`.`category_id`
LEFT OUTER JOIN `discovery_source` `d` ON `b`.`discovery_source_id` = `d`.`discovery_source_id`
LEFT OUTER JOIN `blog_comment` `bc` ON `b`.`blog_id` = `bc`.`blog_id`
LEFT OUTER JOIN `blog_file` `bf` ON `b`.`blog_id` = `bf`.`blog_id`
;
は結果である(2017年2月21日最新) :私は2番目の左外側に追加するとき
しかし、それに参加する(残り)新しい注文がblog_date
の注文の降順であるが、category_name
の順であることがわかります。
これをクリアしてくれてありがとう! – cphill