私は2つのテーブル:posts(id,title,text,type)
とimages(id, post_id, url)
を持っています。mysqlビューを作成します。
すべての投稿からビューを作成したいところです。posts.type=1
とposts.id = image.post_id
です。それは本当ですか?
私は試してみてください。
CREATE VIEW image_posts AS
SELECT *
FROM posts id
INNER JOIN images post_id ON post_id = id;
私が取得:
Error in query (1052): Column 'id' in on clause is ambiguous
あなたが投稿FROM – Zeljka
は 'id'私達にあなたのクエリを記述するdidntの - あなたが実際にこれが何であるかを認識していますか...? – CBroe
あなたはテーブルの別名を誤解しています。 'posts id'を書くことで、' posts'テーブルにエイリアスを設定しています。クエリのどこかで 'id'を参照すると、いつでも' posts'テーブルを意味すると言います。 2つのテーブルが同じフィールド名を持つ場合は、テーブルとフィールド名を修飾する必要があります。修飾フィールドリファレンスは 'posts.id'のようなものです。あなたのケースでは、あなたが設定したエイリアスのため、修飾されたフィールド名は 'id.id'です。 –