我有2个表格,广告客户和广告系列.两者都有我需要列出的更多字段,并且都有一个主键"id".我想创建一个视图,而不必使用*手动输入所有字段.我一直收到"重复列"错误.是否可以通过*完成此操作或是我唯一的选择输入所有列名称和设置ID的别名?
CREATE VIEW VIEW_CAMPAIGNS AS
SELECT *,
advertisers.id as adv_id,
campaigns.id as camp_id
FROM campaigns, advertisers
WHERE advertisers.id = advertiser_id
Run Code Online (Sandbox Code Playgroud)
仍然返回#1060 - 重复列名'id'
我有一个完整的大型数据库或称为 PERSONS 的人。
我想将它们彼此的关系存储在单独的表中。
我在想这样的事情:
FAMILY
PERSON_IDS: 123, 345, 678
RELATIONS: self, brother, daughter
Run Code Online (Sandbox Code Playgroud)
使用“自我”标志来指示引用关系的人。所以,在这个例子中,123 是一个男人,345 是他的兄弟,678 是一个女人,他的女儿。即,可以从关系中导出性别信息。
这是正确的方法吗?
或者每行只有 2 个人和一种关系类型会更有效吗
PERSON_IDS: 123, 456
RELATION: brother
Run Code Online (Sandbox Code Playgroud)
——
PERSON_IDS: 123, 678
RELATION: daughter
Run Code Online (Sandbox Code Playgroud)
或者每个人都有一个男性/女性字段并且关系表只指定例如“兄弟姐妹”更好。
或者我应该有一张只有 PARENTS 的表并存储 PERSON 的性别?
TABLE PARENTS:
PARENT_ID: 123
CHILD_ID: 678
Run Code Online (Sandbox Code Playgroud)
目的是在显示Person 时显示相关人员。设计应该针对性能和速度进行优化,而不是为了便于管理。
谢谢你的帮助。