【问题标题】:DBFlow - inner join with another select statementDBFlow - 与另一个选择语句的内部连接
【发布时间】:2016-04-04 13:53:05
【问题描述】:

我正在尝试将以下 SQL 语句转换为 DBFlow 方法调用:

SELECT t.SSID, t.BSSID, t.Latitude, t.Longitude, t.Timestamp 
FROM wlan_events t 
INNER JOIN (SELECT BSSID, MAX(Timestamp) AS MaxTimestamp FROM wlan_events GROUP BY BSSID) groupedt 
ON t.BSSID = groupedt.BSSID AND t.Timestamp = groupedt.MaxTimestamp

到目前为止我得到了什么:

SQLite.select(WifiEvent_Table.SSID, WifiEvent_Table.BSSID, WifiEvent_Table.latitude,
    WifiEvent_Table.longitude)
    .from(WifiEvent.class)
    .as("t")
    .innerJoin(WifiEvent.class) // ????

;

如何使用 dbflow 创建内部联接的 select 语句?

【问题讨论】:

    标签: android sql sqlite dbflow


    【解决方案1】:

    这是我发现的:

        SELECT EMP_ID, NAME, DEPT FROM COMPANY LEFT OUTER JOIN DEPARTMENT
          ON COMPANY.ID = DEPARTMENT.EMP_ID
    

    在 DBFlow 中:

    SQLite.select(Company_Table.EMP_ID, Company_Table.DEPT)
      .from(Company.class)
      .leftOuterJoin(Department.class)
      .on(Company_Table.ID.withTable().eq(Department_Table.EMP_ID.withTable()))
      .queryList();
    

    希望这会有所帮助:(链接已更新)

    https://agrosner.gitbooks.io/dbflow/content/

    【讨论】:

    • 谢谢,但您的回答在 join 中没有任何 select 语句
    • 尝试使用 .on(new Select())
    猜你喜欢
    • 2011-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-29
    • 1970-01-01
    • 2010-12-28
    • 1970-01-01
    相关资源
    最近更新 更多