【发布时间】:2011-03-27 22:25:17
【问题描述】:
我目前需要执行一个数据库查询,该查询涉及来自三个单独表的数据。 (bases,member,sell_transaction)
bases 表如下所示
base_id(PK) 名称 状态
member 表如下所示
id(PK) last_name 用户名 电子邮件 first_name
sell_transaction 表具有以下架构
transaction_id(PK) 城市
状态
base_id
日期 ID
代理ID
注意 - 这些表包含更多列,但它们无关紧要,因此我将节省时间而不是将它们写出来。
我正在处理涉及所有这些表中的数据的事务查询。我需要在从这三个表中填充的 TransactionItem 中返回这些数据
作为 Pojo 的 TransactionItem 如下所示
公共事务项(){ 私人字符串名; 私人字符串姓氏; 私人字符串电子邮件; 私有字符串基名; 私人字符串城市; 私有字符串状态; 私人日期日期; 公共字符串 getFirstName(){ 返回名字; } 公共字符串 setFirstName(字符串名字){ this.firstName = 名字; } ... ...///其余的 getter 和 setter ... ... }目前我正在从每个表中进行三个单独的选择,这比我想要的要花费更长的时间。我想有一种方法可以使用连接或嵌套选择语句等。
数据和条件及其对应的表格如下
我需要...
first_name, last_name,id 来自 member
我需要
name 和 state 来自 bases 其中 base_id 来自 sell_transaction 等于 base_id 来自 基地
我还需要更多,但将它们命名是多余的,这个想法应该仍然很清楚,我需要查询相互依赖的数据。我不确定性能方面的最佳选择是什么。被遍历的数据量最终可能非常大或非常小(不确定这是否重要)。
选择 b.name,b.state, s.city,s.state,s.duty,s.branch,s.date, m.first_name,m.last_name,m.email,m.phone,m.id,s.transaction_id 从 基础为 b,sell_transaction 为 s,成员为 m 在哪里 s.agentId 为 null 并且 s.username = m.username 和 b.base_id = s.duty【问题讨论】:
-
为什么你在多个表中有状态?它们是相同的数据吗?如果是这样,哪个表应该是规范来源?
-
AgentID 的关系是你的 Member 表的外键吗?
-
它们不是同一个数据,它们有不同的含义