2

サブクエリの FROM 句で外部クエリのパラメータを使用しようとしています。

tbl1:
| id | val1 | str1 |
| 1  | 12   | sbc  |
| 2  | 22   | sds  |

tbl2:
| id | val1 | str1 |
| 1  | 1    | cp   |

次のクエリを書き込もうとしています:

select * from
    tbl1 t, (select * from tbl2 where t.id = tbl2.id and tbl2.val1 = 1) tb12;

期待される出力:

| id | val1 | str1 | id   | val1 | str1 |
| 1  | 12   | sbc  | 1    | 1    | cp   |
| 2  | 22   | sds  | null | null | null |

それでも、次のエラーで失敗します。

/* SQL Error (1054): Unknown column 't.id' in 'where clause' */

ここで何が間違っていますか?

4

3 に答える 3

2

次のような単純な古い左結合を使用しない理由はありますか:

select * from tbl1 t1 left join tbl2 t2 on t1.id = t2.id;
于 2010-07-06T12:53:44.717 に答える
2
SELECT  *
FROM    tbl1 t
LEFT JOIN
        tbl2 t2
ON      t2.id = t.id
        AND t2.val1 = 1
于 2010-07-06T14:19:08.887 に答える
0
 SELECT * tbl1 UNION select * from tbl2;

同じ結果が得られます

于 2012-05-25T06:55:28.633 に答える