Tabellen mit demselben Primary Key zusammenfügen

Dani1993

Benutzer
Beiträge
8
Hallo,

ich habe folgendes Problem.

Ich habe mehrere Tabellen in MySQL, die zu einer erstellt werden sollen.
Problem ist, dass ich eine große Tabelle habe mit ALLEN Teilenummern.
Nun habe ich noch kleine Tabellen in denen nicht alle Teilenummern stehen und den Teilenummern sind Werte wie z.B. Bestand zugeordnet. Wie füge ich die beiden Tabellen nun zusammen, dass MySQL auch wirklich Teil "XY" zu Teil "XY" zuordnet usw.?

Beispiel:
Teil: (Tabelle 1)
Teilenummern ;
1;
2 ;
3 ;
4;
5;

Bestand: (Tabelle2)
Teilenummern;Bestand
1;120
4;20
9;25
12;45

Endergebnis:
Teilenummern;Bestand
1;120
2;0
3;0
4;20
5;0
6;0
7;0
8;0
9;25
 
Werbung:
Hallo,

ich habe folgendes Problem.


Du hast:

Code:
test=# create table teile as select nr, 'teil_' || nr::text as name from generate_Series(1,10) nr;
SELECT 10   
Time: 19,257 ms   
test=*# select * from teile;
 nr |  name   
----+---------   
  1 | teil_1   
  2 | teil_2   
  3 | teil_3   
  4 | teil_4   
  5 | teil_5   
  6 | teil_6   
  7 | teil_7   
  8 | teil_8   
  9 | teil_9
 10 | teil_10
(10 rows)

Time: 0,203 ms
test=*# create table bestand as select 1 as nr, 120 as bestand union select 4,12 union select 9,25;
SELECT 3
Time: 6,626 ms
test=*# select * from bestand ;
 nr | bestand
----+---------
  1 |  120
  4 |  12
  9 |  25
(3 rows)

und suchst:

Code:
test=*# alter table teile add column bestand int;
ALTER TABLE
Time: 0,238 ms
test=*# update teile set bestand = bestand.bestand from bestand where teile.nr=bestand.nr;
UPDATE 3
Time: 0,468 ms
test=*# select * from teile order by nr;
 nr |  name  | bestand
----+---------+---------
  1 | teil_1  |  120
  2 | teil_2  |
  3 | teil_3  |
  4 | teil_4  |  12
  5 | teil_5  |
  6 | teil_6  |
  7 | teil_7  |
  8 | teil_8  |
  9 | teil_9  |  25
 10 | teil_10 |
(10 rows)

Oder? Könnte sogar mit MyZettelkasten so funktionieren, ich nutze PostgreSQL.
 
Okay...
Das klappt soweit.
Wie kann man nun ein Datum in die KW umwandeln.
Angenommen ich will den 21.03.2014 nicht mehr in der Tabelle haben sondern die KW.
teil | menge | beleg_datum | beleg_art
------+------------+------------------+-------------
1 | 120 | 21.03.2014 | AK
2 | 100 | 17.06.2012 | XK
3 | 80 | 12.09.2013 | XK


teil | menge | KW | beleg_art
------+------------+-------+------------
1 | 120 | 20 | AK
2 | 100 | 27 | XK
3 | 80 | 43 | XK
 
Okay...
Das klappt soweit.
Wie kann man nun ein Datum in die KW umwandeln.
Angenommen ich will den 21.03.2014 nicht mehr in der Tabelle haben sondern die KW.

Laß das DATE in der Tabelle und nutze Funktionen zur Ermittlung der Woche aus einem DATE. In PG ginge es so:

Code:
test=*# select extract(week from current_date);
 date_part
-----------
  40
(1 row)

Ob MyZettelkasten was vergleichbares hat weiß ich nicht, aber ganz sicher die Doku.
 
Werbung:
Zurück
Oben