Wie kann ich überprüfen, die Existenz von bomItem
Feld Wert in drei verschiedenen Tabelle vor dem Einfügen des Datensatzes in die Tabelle. Ich möchte überprüfen, obwie kann die Existenz von Datensatz in mehreren Tabelle überprüfen
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`
gleich sind, wenn in einer der drei Tabellen seine gute existieren einen Datensatz in BOMHEAD
Tabelle zu erstellen. Das einzige gemeinsame Feld in den obigen drei Tabellen ist das Feld itemId
, das sehr unterschiedliche Attribute enthält.
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
Beispieldaten
Table A
100199
100200
100201
Table B.
200199
200200
200201
200202
table C
400199
400200
400201
Jetzt möchte ich, dass ich zu 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
Was ist die Quelle? Aus welcher Tabelle ziehen Sie die Datensätze und fügen sie in 'BOMHEAD' ein. –
Tabelle A oder B oder C. Um einen Datensatz in die Tabelle "BOMHEAD" einzufügen, muss ein passender Datensatz entweder in Tabelle A oder Tabelle B oder Tabelle C (nur relativ zum Feld bomItem) vorhanden sein. – afri
Was passiert, wenn alle drei Tabellen "bomitem" haben –