我只需要選擇連接表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