Autor | Zpráva | ||
---|---|---|---|
Silver8000 Profil |
#1 · Zasláno: 27. 4. 2013, 21:04:27 · Upravil/a: Moderátor (editace znemožněna) 28. 4. 2013, 10:59:02
Moderátor Kajman: Přesunuto z jak na tohle řazení? Příště si založte vlastní téma a nedělejte nepořádek u jiného problému!
mam dotaz: jak by jste spojili 6 tabulek pricemz v kazde tabulce je pojmenovano id trochu jinak ale souhlasi v kazdem poli? Primarni klic je vzdycky ID. priklad : table_1 ( table_1_id,table_1_value_1,table_1_value_2) table_2 ( table_2_id,table_2_value_1,table_2_value_2) table_3 ( table_3_id,table_3_value_1,table_3_value_2) table_4 ( table_4_id,table_4_value_1,table_4_value_2) table_6 ( table_6_id,table_6_value_1,table_6_value_2) |
||
Tori Profil |
#2 · Zasláno: 27. 4. 2013, 21:25:59
To vypadá jako chybný návrh databáze: Některé časteji řešené dotazy pro MySQL - FAQ » Nová tabulka/sloupec pro každý záznam
|
||
Silver8000 Profil |
#3 · Zasláno: 27. 4. 2013, 22:29:54
Tori:
Chapu ale potrebuji z toho vytahnout jen dulezita data a sloucit v jednu tabulku aby pak pri konecne fazi mohla byt jen jedna. V takove podobne databazi mam uz obsah ktery chci dat do jedne tabulky napriklad : my_new_table ( table_id,table_value //respektive table value 1,2,3,4 atp. podle potreby) |
||
Tori Profil |
#4 · Zasláno: 27. 4. 2013, 22:39:33
Koukněte se na UNION. Sloučené sloupce z různých tabulek by měly mít stejný datový typ.
|
||
Silver8000 Profil |
#5 · Zasláno: 28. 4. 2013, 01:51:47
Tori:
Promin Tori ale abych pravdu rekl tak me nebavi cist jen PUL VYSVETLENI pisou tam o tom jak to udelat ale neni tam videt jednoducha struktura tabulky a jeji prikaz pro UNION... je tam jen prikaz SELECT s UNION em na nejakou imaginarni tabulku kde neni ukazana jeji struktura pro pochopeni.
Tak moc prosim ukazte mi nekdo jak na to presne ... Dejme tomu ze strukturu uz mame s pouzitim me tabulky ze ktere chceme vytahnout jen data. Vsechny ID v tabulkach jsou naprosto identicke a ostatni jsou ty data. table_1 ( table_1_id,table_1_value_1,table_1_value_2) table_2 ( table_2_id,table_2_value_1,table_2_value_2) table_3 ( table_3_id,table_3_value_1,table_3_value_2) table_4 ( table_4_id,table_4_value_1,table_4_value_2) table_6 ( table_6_id,table_6_value_1,table_6_value_2) Dik moc ... |
||
Tori Profil |
(select table_1_id, table_1_value_1, table_1_value_2 from table_1) union all (select table_2_id, table_2_value_1, table_2_value_2 from table_2) union all (select table_3_id, table_3_value_1, table_3_value_2 from table_3) |
||
Silver8000 Profil |
#7 · Zasláno: 28. 4. 2013, 03:01:25
tak ted pokud jsem to pochopil dejme tomu ze budou v :
tabulce 1 hodnoty 1,2,3 tabulce 2 hodnoty 1,4,5 tabulce 3 hodnoty 1,6,7 tabulce 4 hodnoty 1,8,9 tabulce 5 hodnoty 1,10,11 tabulce 6 hodnoty 1,12,13 a ty se sloucej na 111111,24681012,35791113 pokud je to takhle a ty hodnoty se slouci a pak se nedaj samostatne vyvolat pro ten dalsi insert tak me nezbiva nez kazdou tabulku volat samostatne dat to do array tabulky a nasledne insertovat do nove DB tabulky a to hezky po jedom. ukazu priklad jak jsem to myslel strukturove pro insert do nove tabulky: Jak uz jsem rekl ID je IDENTICKE a ostatny jsou data table_1 ( table_1_id,table_1_value_1,table_1_value_2) table_2 ( table_2_id,table_2_value_1,table_2_value_2) table_3 ( table_3_id,table_3_value_1,table_3_value_2) table_4 ( table_4_id,table_4_value_1,table_4_value_2) table_6 ( table_6_id,table_6_value_1,table_6_value_2) prikladna_nova_tabulka( table_id, table_1_value_1, table_1_value_2, table_2_value_1, table_2_value_2, table_3_value_1, table_3_value_2, table_4_value_1, table_4_value_2, table_6_value_1, table_6_value_2 ) |
||
Tori Profil |
#8 · Zasláno: 28. 4. 2013, 09:54:15 · Upravil/a: Moderátor (editace znemožněna) 28. 4. 2013, 11:00:30
Silver8000:
Jo takhle jste to chtěl! Pardon, nepochopila jsem. INSERT INTO prikladna_nova_tabulka (table_id, table_1_value_1, table_1_value_2, table_2_value_1, table_2_value_2, table_3_value_1, table_3_value_2, table_4_value_1, table_4_value_2, table_6_value_1, table_6_value_2) SELECT table_1_id, table_1_value_1,table_1_value_2, table_2_value_1, table_2_value_2, table_3_value_1, table_3_value_2, table_4_value_1, table_4_value_2, table_6_value_1, table_6_value_2 FROM table_1 t1 INNER JOIN table_2 t2 ON t1.table_1_id = t2.table_2_id INNER JOIN table_3 t3 ON t1.table_1_id = t3.table_3_id INNER JOIN table_4 t4 ON t1.table_1_id = t4.table_4_id INNER JOIN table_6 t6 ON t1.table_1_id = t6.table_6_id INNER JOIN na LEFT JOIN , vloží se tam NULL.
|
||
Silver8000 Profil |
Diky funguje to bezvadne jen jsem si to prizpusobil na moje tabulky....
A misto insertu jsem zvolil to spojeni tabulek a vytvoril nahled tech dat ktere jsem potreboval. Lepsi nez abych kopiroval celej obsah do jedne tabulky. Protoze by to bylo obtizne nakopirovat cca 30 tisic veci. |
||
Časová prodleva: 11 let
|
0