Hallo zusammen,
ich bin mal wieder an den Rand meines begrenzten Wissens angelangt und hoffe, ihr könnt mir helfen.
Ich habe 2 identische Tabellen (Gruppe_Auftrag und Gruppe_Angebot), diese sollen nun in einer einzigen Tabelle (Gruppe) vereint werden.
Die 2 Tabellen haben dieselben Spalten (Namen und Typ) und die Daten sind zum größten Teil auch gleich. Aber halt nicht alle.
Der Primärschlüssel beider Tabellen setzt sich zusammen aus einer ID (kein Autowert, heißt in der Tabelle GruppeIndex) und einem Sprachkenner.
Die neue Tabelle soll dann 2 weitere Spalten enthalten, die angeben, ob der Datensatz für Aufträge oder Angebote oder für beide gilt. Hier denke ich genügen 2 Spalten vom Typ bit.
Ich habe eine neue Tabelle erstellt mit den Saplten die benötigt werden
[highlight=SQL-server]
CREATE TABLE [dbo].[Gruppe](
[GruppeIndex] [varchar](10) NOT NULL,
[Sprachkenner] [varchar](5) NOT NULL CONSTRAINT [DF_Gruppe_Sprachkenner] DEFAULT ('DE'),
[Typ] [varchar](10) NULL,
[Text] [varchar](50) NULL,
[Sortierung] [int] NULL,
[Angebot] [bit] NULL,
[Auftrag] [bit] NULL,
CONSTRAINT [PK_Gruppe] PRIMARY KEY CLUSTERED
(
[GruppeIndex] ASC,
[Sprachkenner] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
[/highlight]
dann hab ich die Daten aus Gruppe_Angebot hineinkopiert und das bit in der Spalte Angebot auf True gesetzt
[highlight=SQL-server]
INSERT INTO [dbo].[Gruppe]
([GruppeIndex]
,[Sprachkenner]
,[Typ]
,[Text]
,[Sortierung]
,[Angebot])
SELECT [GruppeIndex]
,[Sprachkenner]
,[Typ]
,[Text]
,[Sortierung]
, 1
FROM [dbo].[Gruppe_Angebot]
[/highlight]
Hier hört mein Latein dann jetzt auf.
Ich muss jetzt die Daten aus Gruppe_Auftrag ebenfalls in die Tabelle Gruppe übertragen.
Wenn der Datensatz als ganzes schon vorhanden ist, dann soll lediglich das bit Auftrag auf True gesetzt werden.
Ist die ID schon vorhanden, soll der Datensatz mit einer neuen ID eingefügt werden.
Ist der Datensatz noch nicht vorhanden, soll er einfach eingefügt werden.
Kann mir jemand sagen, ob und wie das machen kann?
ich bin mal wieder an den Rand meines begrenzten Wissens angelangt und hoffe, ihr könnt mir helfen.
Ich habe 2 identische Tabellen (Gruppe_Auftrag und Gruppe_Angebot), diese sollen nun in einer einzigen Tabelle (Gruppe) vereint werden.
Die 2 Tabellen haben dieselben Spalten (Namen und Typ) und die Daten sind zum größten Teil auch gleich. Aber halt nicht alle.
Der Primärschlüssel beider Tabellen setzt sich zusammen aus einer ID (kein Autowert, heißt in der Tabelle GruppeIndex) und einem Sprachkenner.
Die neue Tabelle soll dann 2 weitere Spalten enthalten, die angeben, ob der Datensatz für Aufträge oder Angebote oder für beide gilt. Hier denke ich genügen 2 Spalten vom Typ bit.
Ich habe eine neue Tabelle erstellt mit den Saplten die benötigt werden
[highlight=SQL-server]
CREATE TABLE [dbo].[Gruppe](
[GruppeIndex] [varchar](10) NOT NULL,
[Sprachkenner] [varchar](5) NOT NULL CONSTRAINT [DF_Gruppe_Sprachkenner] DEFAULT ('DE'),
[Typ] [varchar](10) NULL,
[Text] [varchar](50) NULL,
[Sortierung] [int] NULL,
[Angebot] [bit] NULL,
[Auftrag] [bit] NULL,
CONSTRAINT [PK_Gruppe] PRIMARY KEY CLUSTERED
(
[GruppeIndex] ASC,
[Sprachkenner] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
[/highlight]
dann hab ich die Daten aus Gruppe_Angebot hineinkopiert und das bit in der Spalte Angebot auf True gesetzt
[highlight=SQL-server]
INSERT INTO [dbo].[Gruppe]
([GruppeIndex]
,[Sprachkenner]
,[Typ]
,[Text]
,[Sortierung]
,[Angebot])
SELECT [GruppeIndex]
,[Sprachkenner]
,[Typ]
,[Text]
,[Sortierung]
, 1
FROM [dbo].[Gruppe_Angebot]
[/highlight]
Hier hört mein Latein dann jetzt auf.
Ich muss jetzt die Daten aus Gruppe_Auftrag ebenfalls in die Tabelle Gruppe übertragen.
Wenn der Datensatz als ganzes schon vorhanden ist, dann soll lediglich das bit Auftrag auf True gesetzt werden.
Ist die ID schon vorhanden, soll der Datensatz mit einer neuen ID eingefügt werden.
Ist der Datensatz noch nicht vorhanden, soll er einfach eingefügt werden.
Kann mir jemand sagen, ob und wie das machen kann?
Comment