Necesito seleccionar solo la primera fila de una consulta que une las tablas A y B. En la tabla B existen múltiples registros con el mismo nombre. No hay identificadores en ninguna de las dos tablas. Tampoco puedo cambiar el esquema porque no tengo el DB.Seleccione la primera fila en una combinación de dos tablas en una declaración
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
Esto me da
NAME DATA1 DATA2
sameName 1 2
sameName 1 3
otherName 5 7
otherName 8 9
pero necesito recuperar sólo una fila por nombre
NAME DATA1 DATA2
sameName 1 2
otherName 5 7
yo era capaz de hacer esto añadiendo el resultado en una tabla temporal con una columna de identidad y luego seleccione el id. mínimo por nombre.
El problema aquí es que necesito hacer esto en una sola declaración.
Hay un pequeño error tipográfico en la última afirmación. Debería ser "IS NOT NULL" en lugar de "IN NOT NULL". – mbp
+1 eres un salvador. Su autocomunicación editada funciona incluso con SQL CE, donde otras soluciones para esta pregunta no se deben a las limitaciones de SQL CE. –