我有一个ER图,其中有2个实体通过具有属性的关系连接,看起来像这样:
我可以使用以下方法创建新表:
CREATE TABLE participate AS (
SELECT user.id, group.group_id
FROM user, group
)
我不确定如何也添加date
属性。
答案 0 :(得分:1)
我建议使用cross join
而不是,
来明确表示。
您可以添加日期:
CREATE TABLE participate AS (
SELECT u.id, g.group_id, current_datetime as date
FROM user u CROSS JOIN
group g;
USER
和GROUP
对于表名来说确实是错误的选择,因为它们是SQL关键字和保留字。我通常以复数形式命名表格,因此我建议使用USERS
和GROUPS
。
答案 1 :(得分:1)
您可以选择一个虚拟值:
CREATE TABLE participate
AS
SELECT user.id as user_id,
group.group_id,
current_date as "date"
FROM "user"
CROSS JOIN "group";
请注意,user
和group
是保留关键字。您应该避免将它们用作表名。但是,如果这样做,则每次使用该表时都必须将其用双引号引起来