# insert into table



## sim26 (11. Jan 2007)

hallo alle,

ich habe ein tabelle "test1":

x   y    mittelwert
1   5
3   67
7   36
....................

will jetzt mittelwert rechnen und dann ins tabelle inserieren.

habe folgendes gemacht:


select (x+y)/2 as mittelwert from test1;

aber dann habe die ergebnisse bekommen nicht drin in mein tabelle

ich habe versucht von mein seite schon aber  

danke


----------



## MatthiasKnorr (11. Jan 2007)

Versuch mal ein UPDATE:

```
UPDATE test1 SET mittelwert = (x+y)/2;
```

Grüße,
Matthias


----------



## sim26 (11. Jan 2007)

danke, das hat funktionniert


----------



## sim26 (11. Jan 2007)

ich habe   ein andere problem:


tabelle "test1"

product        preis        verkaufer

dera           90
sami           56
waet           34

tabelle       " test2"

verkaufer     preis1           preis2         product

bosh              123                 140         waet
cliemens         20                   40         waet
philips             80                   97         dera
siemens          40                  50           dera


ich will gerne wissen die verkafer von producte in der tabelle "test1" die die product verkaufen mit dem preis von tabelle "test1" und liegt zwischen die preis1 nd preis2 in der tabelle "test2"


Z.B.

SELECT verkaufer from test2 where product ='waet' and '34' between preis1 and preis2;

dann bekomme ich als ergebnisse:   "cleiemns"     

  SELECT verkaufer from test2 where product ='dera' and '90' between preis1 and preis2;


dann bekomme ich als ergebnisse:   "philips"  


aber ich will das für die ganz tabelle machen auf einmal

ist das möglisch


----------



## MatthiasKnorr (11. Jan 2007)

Versuch mal 

```
SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product AND t1.preis BETWEEN t2.preis1 AND t2.preis2;
```

Grüße,
Matthias


----------



## sim26 (11. Jan 2007)

Danke erstmal, aber habe noch ein letzte frage   

um jetzt die ergebnisse rein ins tabelle test 1 zu machen habe ich so gemacht:




update  verkaufer FROM test1 t1 = t2.product = t1.product AND t1.preis BETWEEN t2.preis1 AND t2.preis2;

bekomme ich dann die fehler meldung :


Unknown column ' t1.product' in 'field list'


wie kann ich bitte das problem lösen?

Danke


----------



## MatthiasKnorr (11. Jan 2007)

Oh ha, versuch mal den hier:

```
update test1 t0 set t0.verkaufer = (SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product AND t1.product = t0.product AND t1.preis BETWEEN t2.preis1 AND t2.preis2);
```
.

Ich schau heute Abend nochmal genauer drauf wenn dir bis dahin keiner geholfen hat.

Grüße,
Matthias


----------



## Guest (12. Jan 2007)

Hallo Matthias,

habe folgendes probiert:

```
update test1 t0 set t0.verkaufer = (SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product AND t1.product = t0.product AND t1.preis BETWEEN t2.preis1 AND t2.preis2);


aber hat immer den Fehlermeldung gegeben:

[code]
 MySQL meldet: Dokumentation
#1093 - You can't specify target table 't0' for update in FROM clause
```

deswegen habe gedacht dass ich eine neues  Tabelle  "test3" erstelle.

d.h.

```
update test3 t0 set t0.gene_test = (SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product  AND t1.preis BETWEEN t2.preis1 AND t2.preis2)
```

dann habe kein Fehlermeldung bekommen, aber das Problem die Tabelle "test3" ist leer geblieben, stand keine werte drin.

weißt vielleicht woran kann das liegen oder ob überhaupt was ich gemacht habe die richtige Lösung war für das Fehlermeldung..........................

danke,
SIM
[/code]


----------



## Guest (12. Jan 2007)

Hallo Matthias,

habe folgendes probiert:
 Code:
update test1 t0 set t0.verkaufer = (SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product AND t1.product = t0.product AND t1.preis BETWEEN t2.preis1 AND t2.preis2);
[/code]

aber hat immer den Fehlermeldung gegeben:


```
MySQL meldet: Dokumentation
#1093 - You can't specify target table 't0' for update in FROM clause
```

deswegen habe gedacht dass ich eine neues  Tabelle  "test3" erstelle.

d.h.

```
update test3 t0 set t0.gene_test = (SELECT t2.verkaufer FROM test1 t1, test2 t2 WHERE t2.product = t1.product  AND t1.preis BETWEEN t2.preis1 AND t2.preis2)
```

dann habe kein Fehlermeldung bekommen, aber das Problem die Tabelle "test3" ist leer geblieben, stand keine werte drin.

weißt vielleicht woran kann das liegen oder ob überhaupt was ich gemacht habe die richtige Lösung war für das Fehlermeldung..........................

danke,
SIM


----------

