我只需要选择连接表A和B的查询中的第一行。在表B上存在多个具有相同名称的记录。这两个表格中没有任何标识符。我无法改变计划,因为我没有拥有数据库。在一个语句中选择两个表的连接中的第一行
TABLE A
NAME
TABLE B
NAME
DATA1
DATA2
Select Distinct A.NAME,B.DATA1,B.DATA2
From A
Inner Join B on A.NAME = B.NAME
这给了我
NAME DATA1 DATA2
sameName 1 2
sameName 1 3
otherName 5 7
otherName 8 9
,但我需要检索每名只有一排
NAME DATA1 DATA2
sameName 1 2
otherName 5 7
我能够通过添加结果到一个临时表与要做到这一点标识列,然后选择每个名称的最小标识。
这里的问题是,我需要在一个单一的陈述中这样做。
上一条语句有小错字。它应该是“IS NOT NULL”而不是“IN NOT NULL”。 – mbp 2010-03-17 20:27:32
+1你是一个救世主。由于SQL CE的限制,即使使用SQL CE,您编辑的自连接也可以工作,因为此问题的其他解决方案并不适用。 – 2012-04-27 06:43:48