2011-05-13 21 views

Respuesta

33
select d.Name as DogName, o.Name 
from Dog d 
inner join Owner o on d.OwnerID = o.OwnerID 
+0

¿Cómo se diferencia 'Owner o' (tercera línea) de' Owner as o'? – FRD

+0

@FRD Es solo una forma abreviada de hacer lo mismo. – RedFilter

0

sí, se puede cambiar el nombre de las columnas en la salida de una unión, que se llama un alias. Sin embargo, el hecho de que sean iguales no causa ningún problema; solo necesitan estar completamente calificados.

9

Sí, se puede, pero entonces debe enumerar todos los campos en lugar de utilizar select *:

select o.*, d.* 
     from owner o 
inner join (select dog_id, name as dog_name, breed, age, owner_id from dog) d 
    on o.owner_id = d.owner_id 
+1

Pero, entonces, debería usar Select * de todos modos, así que eso no es realmente una pérdida. – AllenG

0

usted puede dar cualquier nombre de alias de la columna, pero hay algunas reglas como el nombre de alias debe no es la palabra clave de SQL Server, no debe contener espacio; si desea espacio, entonces debe estar en [], no puede usar algunos símbolos para alias.

Ej: - Seleccione propietario.Id Como [Int], Propietario. , perro. Del propietario unión interior Gog En Owner.Id = Dog.Id

Cuestiones relacionadas