我有下表:
Event.target
我想检索第一行和具有相同经销商ID的行。对于上面的例子,我想得到的结果是row1和row3 ......
我如何在SQL Server中执行此操作?我尝试左连接与相同的表。但我没有按照我的预期得到结果。
Vehicle_no DEA_id Name location
--------------------------------------------
1030 T100024 xxxxx Canada
1012 T103125 yyyyy America
1045 T100024 xxxxx Canada
请帮我解决这个问题。我的数据库是SQL Server
答案 0 :(得分:1)
SQL表代表无序集。要识别“第一”行,您需要一个指定排序的列。我会使用=
而非JOIN
:
SELECT dg.*
FROM ODS.MKT_DEALER_GET dg
WHERE dg.DEA_id = (SELECT TOP 1 dg2.DEA_id
FROM ODS.MKT_DEALER_GET dg2
ORDER BY ?
);
或者,如果您有其他信息,请使用WHERE
:
SELECT dg.*
FROM ODS.MKT_DEALER_GET dg
WHERE dg.DEA_id = (SELECT TOP 1 dg2.DEA_id
FROM ODS.MKT_DEALER_GET dg2
WHERE Vehicle_no = 1030
);