16

異なる列を異なるテーブルにマージするビューを作成するにはどうすればよいですか?たとえば、ユーザー、アイテム、ギフトの3つのテーブルがあります(この例では、ユーザーが別のユーザーにギフトを贈ることができるシステムです)。

users表にはユーザーに関する情報があり、items表にはアイテムに関する情報があり、gifts表にはどのユーザーがどのユーザーにどのギフトを送ったかが示されます。

私が欲しいのは、次のようなビューを作成することです。

user_from | user_to | gift_name  | gift_price
sally     | john    | Teddy Bear | 10
4

2 に答える 2

20

最初に3つのテーブルを結合する必要があります。例

CREATE VIEW GiftsList
AS
SELECT  b.name user_from,
        c.name user_to,
        d.name gift_name,
        d.price gift_price
FROM    gift a
        INNER JOIN users b
            ON a.user_from = b.id
        INNER JOIN users c
            ON a.user_from = c.id
        INNER JOIN items d
            ON a.item = d.id
于 2012-09-10T12:53:57.873 に答える
2

次のような2つのテーブルでビューを作成できます。

 CREATE VIEW giftList AS
 SELECT users.user_from,users.user_to,gifts.gift_name,gifts.gift_price FROM users,gifts
 WHERE users.user_id = gifts.user_id;

where句は、出力が繰り返されないようにするためのものです。

于 2019-06-06T15:09:33.090 に答える