【问题标题】:SQLite Order By foreign table fieldSQLite 按外部表字段排序
【发布时间】:2021-05-15 19:17:33
【问题描述】:

我有两个如下表:(实际上它们有更多的字段)

Records (
    recordId INTEGER PRIMARY KEY,
    dateTime TEXT
);

Alarms (
    alarmId INTEGER PRIMARY KEY,
    recordId INTEGER,
    FOREIGN KEY (recordId) REFERENCES Records(recordId)
    ON UPDATE CASCADE
    ON DELETE CASCADE
);

我想获取按dateTime 排序的所有警报,属于他们所指的记录。我认为应该是这样的:

SELECT * FROM Alarms ORDER BY Records.dateTime DESC;

但我找不到任何相关的例子。 感谢您的宝贵时间。

【问题讨论】:

    标签: sqlite foreign-keys sql-order-by


    【解决方案1】:

    你需要的是两个表的连接:

    SELECT a.* 
    FROM Alarms a INNER JOIN Records r
    ON r.recordId = a.recordId 
    ORDER BY r.dateTime DESC;
    

    ORDER BY 子句中的相关子查询:

    SELECT a.* 
    FROM Alarms a 
    ORDER BY (SELECT r.dateTime FROM Records r WHERE r.recordId = a.recordId) DESC;
    

    【讨论】:

      猜你喜欢
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-24
      • 2017-07-30
      • 1970-01-01
      • 2011-04-10
      相关资源
      最近更新 更多