Search in sources :

Example 6 with SelectStatement

use of com.orm.androrm.statement.SelectStatement in project androrm by androrm.

the class JoinStatementTest method testOnSubselect.

public void testOnSubselect() {
    SelectStatement left = new SelectStatement();
    left.from("left_table").select("foo");
    SelectStatement right = new SelectStatement();
    right.from("right_table").select("bar");
    JoinStatement join = new JoinStatement();
    join.left(left, "a").right(right, "b").on("foo", "bar");
    assertEquals("(SELECT foo FROM `left_table`) AS a JOIN (SELECT bar FROM `right_table`) AS b ON a.foo=b.bar", join.toString());
}
Also used : SelectStatement(com.orm.androrm.statement.SelectStatement) JoinStatement(com.orm.androrm.statement.JoinStatement)

Example 7 with SelectStatement

use of com.orm.androrm.statement.SelectStatement in project androrm by androrm.

the class SelectStatementTest method setUp.

@Override
public void setUp() {
    mSelect = new SelectStatement();
    mSelect.from("table");
}
Also used : SelectStatement(com.orm.androrm.statement.SelectStatement)

Example 8 with SelectStatement

use of com.orm.androrm.statement.SelectStatement in project androrm by androrm.

the class SelectStatementTest method testFromSelect.

public void testFromSelect() {
    SelectStatement select = new SelectStatement();
    select.from("another_table");
    mSelect.from(select);
    assertEquals("SELECT * FROM (SELECT * FROM `another_table`)", mSelect.toString());
}
Also used : SelectStatement(com.orm.androrm.statement.SelectStatement)

Example 9 with SelectStatement

use of com.orm.androrm.statement.SelectStatement in project androrm by androrm.

the class ManyToManyField method getRightJoinSide.

private SelectStatement getRightJoinSide(int id) {
    String leftTable = DatabaseBuilder.getTableName(mOriginClass);
    String rightTable = DatabaseBuilder.getTableName(mTargetClass);
    Where where = new Where();
    where.setStatement(new Statement(leftTable, id));
    SelectStatement relation = new SelectStatement();
    relation.from(mTableName).select(leftTable, rightTable).where(where);
    JoinStatement join = new JoinStatement();
    join.left(relation, "left").right(rightTable, "right").on(rightTable, Model.PK);
    SelectStatement select = new SelectStatement();
    select.from(join).select("left." + rightTable + " AS " + rightTable);
    return select;
}
Also used : SelectStatement(com.orm.androrm.statement.SelectStatement) JoinStatement(com.orm.androrm.statement.JoinStatement) SelectStatement(com.orm.androrm.statement.SelectStatement) Statement(com.orm.androrm.statement.Statement) Where(com.orm.androrm.Where) JoinStatement(com.orm.androrm.statement.JoinStatement)

Example 10 with SelectStatement

use of com.orm.androrm.statement.SelectStatement in project androrm by androrm.

the class ManyToManyField method getQuery.

private SelectStatement getQuery(int id) {
    SelectStatement select = new SelectStatement();
    select.select("a.*").from(getJoin("a", "b", id));
    return select;
}
Also used : SelectStatement(com.orm.androrm.statement.SelectStatement)

Aggregations

SelectStatement (com.orm.androrm.statement.SelectStatement)16 JoinStatement (com.orm.androrm.statement.JoinStatement)8 Statement (com.orm.androrm.statement.Statement)4 InStatement (com.orm.androrm.statement.InStatement)3 Cursor (android.database.Cursor)2 Relation (com.orm.androrm.field.Relation)2 Where (com.orm.androrm.Where)1 ForeignKeyField (com.orm.androrm.field.ForeignKeyField)1 ManyToManyField (com.orm.androrm.field.ManyToManyField)1 OneToManyField (com.orm.androrm.field.OneToManyField)1 ArrayList (java.util.ArrayList)1