为了确认我的说明,它听起来像你的“点”表行为像一个项目,它有很多组件。每个组件都指向一个查找表“txt”,它具有ID和相应的文本。因此,在这种情况下,一个“点”记录将显示10个单词。
您可以使用多个左连接并应用别名或单个连接,但按未单独列出的每个单点ID记录应用聚合组。由于点像下面组的东西由
SELECT
P.id,
MAX(P.useradr) UserAdr,
MAX(P.descr) Descr,
MAX(case when T.ID = P.plant then T.txt end) as PlantDescrip,
MAX(case when T.ID = P.turnoff then T.txt end) as TurnOffDescrip,
MAX(case when T.ID = P.position then T.txt end) as PositionDescrip,
MAX(case when T.ID = P.instruction then T.txt end) as InstructionDescrip,
MAX(case when T.ID = P.restart then T.txt end) as RestartDescrip,
MAX(case when T.ID = P.workcall then T.txt end) as WorkCallDescrip,
MAX(case when T.ID = P.workinform then T.txt end) as WorkInFormDescrip,
MAX(case when T.ID = P.offcall then T.txt end) as OffCallDescrip,
MAX(case when T.ID = P.offinform then T.txt end) as OffInFormDescrip,
MAX(case when T.ID = P.procedur then T.txt end) as ProcedurDescrip
from
point P
join txt T
ON T.id IN (P.plant, P.turnoff, P.position,
P.instruction, P.restart, P.workcall,
P.workinform, P.offcall, P.offinform, P.procedur)
where
P.useradr = 'G2.F.22.CTS.CU0.90'
group by
P.id
order by
P.id
通过使用多个连接“文章ID”一栏的链接会存在与否, 做着左连接会是什么样子
SELECT
P.id,
P.useradr,
P.descr,
ByPlant.txt as PlantDescrip,
ByTurnOff.txt as TurnOffDescrip,
ByPosition.txt as PositionDescrip,
ByInstruction.txt as InstructionDescrip,
ByRestart.txt as RestartDescrip,
ByWorkcall.txt as WorkCallDescrip,
ByWorkinform.txt as WorkInFormDescrip,
ByOffcall.txt as OffCallDescrip,
ByOffinform.txt as OffInFormDescrip,
ByProcedur.txt as ProcedurDescrip
from
point P
Left JOIN txt ByPlant
ON P.Plant = ByPlant.ID
Left JOIN txt ByTurnOff
ON P.turnoff = ByTurnOff.ID
Left JOIN txt ByPosition
ON P.position = ByPosition.ID
Left JOIN txt ByInstruction
ON P.instruction = ByInstruction.ID
Left JOIN txt ByRestart
ON P.restart = ByRestart.ID
Left JOIN txt ByWorkcall
ON P.Workcall = ByWorkcall.ID
Left JOIN txt ByWorkinform
ON P.Workinform = ByWorkinform.ID
Left JOIN txt ByOffcall
ON P.Offcall = ByOffcall.ID
Left JOIN txt ByOffinform
ON P.Offinform= ByOffinform.ID
Left JOIN txt ByProcedur
ON P.Procedur = ByProcedur.ID
where
P.useradr = 'G2.F.22.CTS.CU0.90'
order by
P.id
你越来越多场比赛,文本表。如果不想为每场比赛复制点数据行,则需要一些条件从可用匹配中选择一条记录。典型值取决于最大值或最近的日期。 –