1

左結合を使用して、このクエリを作成するにはどうすればよいですか。私が使用しているフレームワークは右結合をサポートしていないため、クエリを書き直す必要があります。誰でも私に可能な解決策を提案できますか?

select Audit.history_id,Audit.field,modifiedtime,operation from Audit right join (select History.history_id from History where refid=2000000020088 order by
modifiedtime limit 5) as Hist on Audit.history_id=Hist.history_id;

    desc Audit
    +------------------+------------+------+-----+---------+-------+
    | Field            | Type       | Null | Key | Default | Extra |
    +------------------+------------+------+-----+---------+-------+
    | AUDIT_ID         | bigint(19) |      | PRI | 0       |       |
    | HISTORY_ID       | bigint(19) |      | MUL | 0       |       |
    | FIELD            | varchar(50)       |     |         |       |
    | OLD_VALUE        | varchar(50)| YES  |     | NULL    |       |
    | NEW_VALUE        | varchar(50)| YES  |     | NULL    |       |
    +------------------+------------+------+-----+---------+-------+

desc History
+---------------+-------------+------+-----+---------------------+-------+
| Field         | Type        | Null | Key | Default             | Extra |
+---------------+-------------+------+-----+---------------------+-------+
| HISTORY_ID    | bigint(19)  |      | PRI | 0                   |       |
| REFID         | bigint(19)  |      | MUL | 0                   |       |
| OPERATION     | varchar(50) | YES  |     | NULL                |       |
| MODIFIED_TIME | datetime    |      |     | 0000-00-00 00:00:00 |       |
+---------------+-------------+------+-----+---------------------+-------+
4

3 に答える 3

1
select 
    Audit.history_id,Audit.field,modifiedtime,operation 
from    
    (
        select History.history_id 
        from History where refid=2000000020088 
        order by modifiedtime limit 5            
    ) as Hist 
    left join Audit on (Audit.history_id = Hist.history_id);
于 2011-08-19T16:44:44.613 に答える
1

左結合のリレーションを切り替えるだけです。

実際には、明示的な右外部結合はめったに使用されません。これは、常に左外部結合 (テーブルの順序が入れ替わる) に置き換えることができ、追加機能を提供しないためです。

出典: Wikipedia.org

于 2011-08-19T14:39:54.370 に答える
0

これが現在のものとまったく同じ出力を生成するかどうかはわかりませんが、正しい考えが得られるかもしれません:


履歴から Audit.history_id 、Audit.field、History.modifiedtime、History.operation を選択して、 監査
を左に結合します。


于 2011-08-19T14:30:15.970 に答える