diff --git a/jOOQ/src/main/java/org/jooq/Field.java b/jOOQ/src/main/java/org/jooq/Field.java index dbacf6ee9a..c3ad344b63 100644 --- a/jOOQ/src/main/java/org/jooq/Field.java +++ b/jOOQ/src/main/java/org/jooq/Field.java @@ -143,6 +143,19 @@ public interface Field extends GroupField { @Support Field as(String alias); + /** + * Create an alias for this field based on another field's name. + *

+ * Note that the case-sensitivity of the returned field depends on + * {@link Settings#getRenderNameStyle()}. By default, field aliases are + * quoted, and thus case-sensitive! + * + * @param otherField The other field whose name this field is aliased with. + * @return The field alias. + */ + @Support + Field as(Field otherField); + /** * {@inheritDoc} *

diff --git a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java index 62fd690269..14c7b3a3e6 100644 --- a/jOOQ/src/main/java/org/jooq/impl/AbstractField.java +++ b/jOOQ/src/main/java/org/jooq/impl/AbstractField.java @@ -153,6 +153,11 @@ abstract class AbstractField extends AbstractQueryPart implements Field { return new FieldAlias(this, alias); } + @Override + public final Field as(Field otherField) { + return as(otherField.getName()); + } + @Override public final String getName() { return name;