如何在將記錄插入表之前檢查三個不同表中是否存在bomItem
字段值。我要檢查如何檢查多個表中的記錄是否存在
1. `bomitem` of `BOMHEAD` Table with `itemId` of `Table A`
or
2. `bomitem` of `BOMHEAD` Table with `itemId` of `Table B`
or
3. `bomitem` of `BOMHEAD` Table with `itemId` of `Table C`
是否相等
如果存在無論是在三代表其良好的BOMHEAD
表中創建一個記錄。上述三張表中唯一的共同字段是itemId
字段,它們包含廣泛不同的屬性。
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[BOMHEAD](
[bomItem] [int] NOT NULL,
[bomRev] [nvarchar](6) NOT NULL,
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
樣本數據
Table A
100199
100200
100201
Table B.
200199
200200
200201
200202
table C
400199
400200
400201
現在,我想補充我要錄製BOMHEAD
INSERT INTO BOMHEAD (bomItem) VALUES (400199); //OK since exist in Table C
INSERT INTO BOMHEAD (bomItem) VALUES (200202); //OK since exist in Table B
INSERT INTO BOMHEAD (bomItem) VALUES (500202); //NO because doesnt exist in either A or B or C tables
什麼是來源?從哪張表中拉出記錄並插入「BOMHEAD」中。 –
表A或B或C.爲了將記錄插入到'BOMHEAD'表中,必須有表A或表B或表C(僅相對於BomItem字段)中的匹配記錄。 – afri
當所有三個表都有'bomitem' –