2017-02-22 1 views
0

Ich muss Informationen in einer einzigen Abfrage aktualisieren und hinzufügen.Einfügen und Aktualisieren in einer Abfrage

Konkurrent -table

ID Name Age  DiveNr   Difficulty 
|----|-------|----|------------------|-----------| 
| 1 | Test | 22 | 000110,011111 | 3,5  | 
|____|_______|____|__________________|___________| 

Zur Zeit habe ich

INSERT INTO `competitor`(`ID`, `Name`, `Age`, `DiveNr`, `Difficulty`) 
VALUES(@idSql,@NameSql,@AgeSql,@DiveNrSql,@DiffSql) 

Aber schnell realisiert verwenden versucht, dass dies unmöglich war.

Was ich will, ist in der Lage sein, um weitere Elemente zu DiveNr und Difficulty zu einer bestimmten ID:

ID Name Age  DiveNr    Difficulty 
|----|-------|----|----------------------|-----------| 
| 1 | Test | 22 | 000110,011111,230400 | 3,5,6  | 
|____|_______|____|______________________|___________| 

So etwas wie das?

SELECT ID FROM competitor WHERE ID=1; 
INSERT INTO competitor(DiveNr,Difficulty)VALUES(@DiveNrSql,@DiffSql) 

Wie würde ich dabei vorgehen?

+6

Korrigieren Sie Ihre Datenstruktur. Das Speichern von Listen mit IDs in einer durch Kommas getrennten Liste ist nicht die SQLish-Methode zum Speichern von Daten. –

+0

@GordonLinoff in der Tat ist es nicht, aber es ist der Weg von C# :) – Joel

+0

In meinem Buch, was Sie wollen, ist ein Datensatz aktualisieren.Warum versuchen Sie, einfügen? – Pikoh

Antwort

0

erste alten Werte dieser Spalten erhalten: -

declare @oldDiveNrSql varchar(100) 
declare @oldDiffSql varchar(100) 

set @oldDiveNrSql = (select DiveNr from competitor where [email protected]) 
set @oldDiffSql = (select Difficulty from competitor where [email protected]) 

fügen Sie dann die alten Werte mit neuen Werten: -

declare @newDiveNrSql varchar(100) 
declare @newDiffSql varchar(100) 

set @newDiveNrSql [email protected]+','[email protected] 
set @newDiffSql [email protected]','[email protected] 

Finaly Ihre Reihe mit neuen Werten aktualisieren: -

update competitor set [email protected],[email protected] 
where [email protected] 
Verwandte Themen