SQLite的。 SQL。将行字段设为列标题

时间:2015-07-29 09:52:55

标签: sql sqlite

tblTracker: [ID, Date]
tblTrackerHours: [tblTracker.ID, Hour]
tblTrackerWTGStatus: [tblTracker.ID, TurbineID, Hour, TurbineStatus]

期望输出

Columns: Date          | Hour (from tblTrackerHours) | TurbineIDs .....>
Data:    Ordered dates | 1-24 for each date          | TurbineStatus

我很难理解从哪里开始创建一个可以执行此操作的SQL语句。并非每个TurbineID都有每小时或每天的条目。

欢迎任何提示: - )

1 个答案:

答案 0 :(得分:0)

我认为您需要的是一个视图,您可以按如下方式创建:

create view desiredView as
select 
   t.date as DATEorWhateverYouWantToNameThisColumn, 
   h.hour as HOURorWhateverYouWantToNameThisColumn, 
   s.turbineId as TirbuneIDorWhateverYouWantToNameThisColumn, 
   s.turbineStatus as STATUSorWhateverYouWantToNameThisColumn
from
   tblTracker t,
   tblTrackerHours h,
   tblTrackerWTGStatus s
where
   h.id = t.id AND
   s.id = t.id;

请注意,where子句中的h.id和s.id实际上是相关表中的外键列。您可以在 AS 之后使用单词设置每个列的名称。你可以找到syntax of the command here。  获得此视图后,您可以根据需要进行选择

select * from desiredView