SQLite连接来自两个表的多个值

时间:2018-07-23 14:53:51

标签: database sqlite join where

我有一个SQLite数据库,可为我存储日志信息。 有时某些值可能是可编辑的,有时其他值则不可编辑。

为了避免每个信息都包含两列,我决定创建一个额外的表,其中包含另一个表所引用的两个值。

例如

LogDetail

  • 编号
  • 可编辑

LogTable

  • 编号
  • FK_Timestamp
  • FK_User
  • FK_Titel
  • FK_描述

例如 日志表:

  • 1 1 2 3 4

LogDetail:

  • 1个“时间戳1”为真
  • 2个“ User1”错误
  • 3个“ Titel1”真实
  • 4个“ Description1”为真

每个FK_条目都是一个外键,它引用了LogDetail。 现在,我想将这些信息合并为一行。有许多实现此目的的可能性。我尝试过:

SELECT TimestampT.Value,
       TimestampT.Editable,
       UserT.Value,
       UserT.Editable,
       TitelT.Value,
       TitelT.Editable,
       DescrT.Value,
       DescrT.Editable
FROM Log,
     LogDetail AS TimestampT,
     LogDetail AS UserT,
     LogDetail AS TitelT,
     LogDetail AS DescrT
WHERE Log.FK_Timestamp == TimestampT.Id
  AND Log.FK_User == UserT.Id
  AND Log.FK_Titel == TitelT.Id
  AND Log.FK_Descr == DescrT.Id

使用多个WHERE条件或JOINS或其他方法更好吗?什么是最易读的,什么是SQLite中最快的?

如果我得到更多的列,是否有更简单的解决方案来解决此问题,然后总是为每列添加4行?

0 个答案:

没有答案