我目前需要执行涉及来自三个单独表的数据的数据库查询。 (碱,构件,sell_transaction )
base 表如下所示
BASE_ID(PK)名称状态
成员表如下所示
ID(PK)姓氏名电子邮件first_name的
sell_transaction 表具有以下架构
的transaction_id(PK)城市
州
BASE_ID
日期编号
的agentId
注意 - 这些表包含更多列,但它们无关紧要,因此我将节省时间而不是将其写出来。
我正在进行涉及所有这些表中数据的事务查询。我需要在我从这三个表填充的TransactionItem中返回此数据
作为Pojo的TransactionItem如下所示
public TransactionItem(){ private String firstName; private String lastName; private String email; private String baseName; private String city; private String state; private Date date; public String getFirstName(){ return firstName; } public String setFirstName(String firstName){ this.firstName = firstName; } ... ...///The rest of the getters and setters ... ... }
目前我正在从每张桌子做三个单独的选择,这比我想要的时间更长。我认为有一种方法可以使用连接或嵌套的选择语句等。
数据和条件及其对应表如下
我需要...
来自成员的 first_name,last_name,id
我需要
来自 base 的名称和州 sell_transaction 中的 base_id 等于来自 base 的base_id
我还需要更多,但是将它们命名为多余,这个想法应该仍然清晰,我需要查询相互依赖的数据。我不确定性能明智是什么是最佳性能选项。正在遍历的数据量可能会非常大或非常小(不确定是否重要)。
select 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 from bases as b, sell_transaction as s, member as m where s.agentId is null and s.username = m.username and b.base_id = s.duty
答案 0 :(得分:1)
select first_name, last_name, member.id member_id, bases.name, bases.state
from bases, sell_transaction, member
where sell_transaction.base_id = bases.base_id
and member.id = sell_transaction.agentId;
我正在这里,并且猜测 agentID
是与member
的{{1}}的连接,但它不明确或不明显,可能不正确(除非你澄清你的数据模型)。