【发布时间】:2017-02-13 15:25:17
【问题描述】:
我想从 3 个不同的表中检索 Name 的列值
Table1 contains Name
Table2 contains Name, BAmt
Table3 contains Name, RAmt
现在我想从所有 3 个表中获取名称。 假设表包含这些值
Table1: Table2: Table3:
Name Name BAmt Name RAmt
1. Jack 1.Alice 1000 1.Mark 5000
2. Mark 2.Jack 500 2.Tarzon 1000
3. Ricky 3.Beth 5500
4.Jack 100
现在我想要一个包含所有名称的表(没有任何名称的任何重复)。理想情况下,新表应包含这些值
Name BAmt RAmt
1.Jack 500 100
2.Mark 5000
3.Ricky
4.Alice 1000
5.Tarzon 1000
6.Beth 5500
这里它忽略了重复,但从表中获取了这些列的必要值。 我应该使用什么样的选择语句。 这是我的想法,但我猜它的方法是错误的:
Statement statement1 = db.createStatement("SELECT DISTINCT Name,BAmt,RAmt FROM Table1,Table2,Table3");
statement1.prepare();
statement1.execute();
请指导。
【问题讨论】:
-
你必须做一个自然加入还是给加入一个on参数?我没有得到您想要尝试的内容,因为连接将完全符合您在示例中显示的内容(即使没有不同)