我有三个表Bite
,Tiger
和Cow
(关联表)。我试图仅存储那些具有相同日期,moo和咆哮声的数据的Cow。
这是我尝试使用现有ID记录填充关联表的方式。 FROM条件后我被困住了
答案 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;