我有一个SQLite数据库,可为我存储日志信息。 有时某些值可能是可编辑的,有时其他值则不可编辑。
为了避免每个信息都包含两列,我决定创建一个额外的表,其中包含另一个表所引用的两个值。
例如
LogDetail
LogTable
例如 日志表:
LogDetail:
每个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行?