作者cleanwind (骨傲风清(挂网))
看板Database
标题Re: [SQL ] 一笔资料对到多个表?
时间Tue Jul 10 00:12:46 2012
我印象中课本不是这样写的 XD
Table : `user` Table : `customer` Table : `company`
`id` `id`,`user_id` ...
`id`, `user_id`
│ │ │
└───────────────┼───────────────┘
│
│
Table : `mobile` │
`id`, `user_id`, `mobile` │
│ │
└───────────┘
假设是厂商
SELECT `mobile` FROM `customer` LEFT JOIN `mobile`
ON `customer`.`user_id` = `mobile`.`user_id`
如果是客户
SELECT `mobile` FROM `company` LEFT JOIN `mobile`
ON `customer`.`user_id` = `mobile`.`user_id`
※ 引述《kusoayan (玮哥)》之铭言:
: 请问一下遇到这种状况的时候,该怎麽规划资料表?
: 客户 and 厂商都有电话这个资料,而且都可能不只一只电话
: 所以我把电话独立出来成一张表 mobile
: 原本想用多对一的(mobile: id, user_id)
: 但是因为厂商也会用到这张表,所以似乎还要再加上一个 company_id 的栏位
: 这样规划是正确的吗?
: 也就是 mobile 有 id, user_id, company_id
: 还是要分成 related_id, related_class
: 然後根据 related_class 去判断 related_id 是要 join 哪张表?
: 谢谢!
--
请协助连署 Steam 板,不管赞成或反对都很谢谢您!
战略高手 游戏, 数位, 程设
ComGame-Serv 组务 Σ战略高手服务中心
ComGame-New 组务 ◎战略高手群组连署专用看板
864 7/07 cleanwind ˇ [申请新板] Steam
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 120.101.9.24
1F:推 kusoayan:谢谢 07/10 15:18