创建行-P

时间:2018-07-25 09:48:54

标签: p

我有三个表BiteTigerCow(关联表)。我试图仅存储那些具有相同日期,moo和咆哮声的数据的Cow。

这是我尝试使用现有ID记录填充关联表的方式。 FROM条件后我被困住了

3 个答案:

答案 0 :(得分:1)

尝试一下:

INSERT INTO StrikeFire 
SELECT StrikeID, FireID 
FROM Fire F
Join Strike S
on F.FireDate = S.StrikeDate
and F.FireLatitude = S.StrikeLatitude
and F.FireLongitude = S.StrikeLongitude

答案 1 :(得分:1)

在一个非常全面的问题上做得很好!

您要做的只是在JOIN子句中使用带有多个表达式的ON

INSERT INTO dbo.StrikeFire (StrikeID,
                            FireID)
SELECT S.StrikeID, F.FireID
FROM dbo.Strike S
     JOIN dbo.Fire F ON S.StrikeDate = F.FireDate
                    AND S.StrikeLatitude = F.FireLatitude
                    AND S.StrikeLongitude = F.FireLongitude;

答案 2 :(得分:0)

简单的INNER JOIN应该可以工作:

INSERT INTO StrikeFire (StrikeID, FireID)
   SELECT f.StrikeID, s.FireID 
   FROM Fire F INNER JOIN 
        Strike S
        ON F.FireDate = S.StrikeDate AND 
           F.FireLatitude = S.StrikeLatitude AND 
           F.FireLongitude = S.StrikeLongitude;