【发布时间】:2017-08-13 23:22:00
【问题描述】:
我有包含以下表格的电影数据库:
电影:
mid | title
-----+---------
9 | Jason X
演员:
mid | name
----+------------
9 | Kane Hodder
9 | Lexa Doig
我的问题是从所有表中获取与特定电影相关的所有数据的最佳做法是什么,我认为在一个 sql 查询中获取数据是理想的,因此我不必为每个表对 db 进行多次查询.
当我尝试在一个查询中获取所有内容时,我得到了重复的数据,例如,我在每一行都得到 title 和 mid,而它只需要一次:
mid | title | name
---------------+------------
9 | Jason X | Kane Hodder
9 | Jason X | Lexa Doig
webapp 会将 Postgres 输出转换为哈希,例如:
电影 => {mid => 9, 标题 => 'Jason X', 演员 => ['Kane Hodger', 'Lexa doig']}
使用当前的 postgres 输出,我得到重复的数据,例如 $movie{title} 等于 ['Jason X', 'Jason X'],仅需要 强>'杰森 X'
【问题讨论】:
-
这是可能的,但你不应该这样。你应该在你的业务逻辑中处理它。
-
@JakubKania 所以你会建议在一个查询中获取所有数据(带有重复数据)并在业务逻辑中解析它?或者通过多个查询获取数据,查询每个表并在逻辑中组合它们?我更关心如何做到这一点,寻找一个好的做法。
标签: postgresql web-development-server