Microsoft 2007数据库中有两个表。
其中一个列"name 1& name 2“有2000条记录。另一个表有更多信息:它有两个列,名为"code1 & code2“,有3000条记录。每个名称都有一个代码,这意味着每个名称都有一个存储在列代码1的第二个表中的代码。
我想创建一个表或查询,从第二个表中显示名称1和名称2,以及它们的特定code1 &代码2。
,它必须只有2000条记录
例子:
tabel 1:
name-1 name-2
-----------------------------
Abacavir Digoxin
Amprenavir Aspirintabel 2:
code-1 drug1
----------------
xy1 Abacavir
xy2 Digoxin
yxr1 Amprenavir
uyv2 Aspirin样本输出:
name-1 code-1 name-2 code-2
-----------------------------------------
Abacavir xy1 Digoxin xy2 发布于 2013-11-10 01:37:29
这个表结构设计得很差,但我假设你已经被它困住了。您必须创建一个加入两次Table2的查询..。为您所链接的每个关系设置一次。在我的测试中,我创建了一个access db,并将我的表命名为简单的Table1和Table2,因此您可能需要稍微修改这个查询,以匹配您的表/列名。
SELECT Table1.name1, Table2a.code1, Table1.name2, Table2b.code1
FROM (Table1 LEFT JOIN Table2 AS Table2b ON Table1.name2 = Table2b.drug1) LEFT JOIN Table2 AS Table2a ON Table1.name1 = Table2a.drug1;发布于 2013-11-11 14:29:40
第一个是2K,第二个是3K,这是一个线索。尝试在SQL语句中添加“DISTINCT”键:选择DISTINCT表1.name1,Table2a.code1,Table1.name2,Table2b.code1 FROM (Table1左转JOIN Table2 AS Table2b ON Table1.name2 = Table2b.drug1)在表1.name1=Table2a.drug1上选择Table2作为Table2a;
否则我想是弗兰克搞定的。
https://stackoverflow.com/questions/19884085
复制相似问题