Stránka 1 z 1

MySQL Oříšek pro chytré hlavy

Napsal: úte lis 08, 2011 14:10
od kolibrik
Ahoj mám takový oříšek. Mám data v tabulkách

table_1
ID | string2
----------------------------------
101 | ACGK0164301
102 | ACGK0164301
103 | ACGM0123901
104 | XCVFF0014606
.....

table_2
ID | string1
----------------------------------
1 | ACGK0164301
2 | ACGK0164301
3 | ACGM0123901
4 | ACGZ0014606
....

požadovaný výsledek
ID | string | ID_table1
----------------------------------
1 | ACGK0164301 | 101
2 | ACGK0164301 | 102
3 | ACGM0123901 | 103
4 | ACGZ0014606 | NULL
.....

potřebuju získat požadovaný výsledek a nevím jak na to zkoušel sem JOIN,... ale to mi nepřiřadí různá ID_table1 ??? neřešil ste to už někdo?

Re: MySQL Oříšek pro chytré hlavy

Napsal: pon úno 20, 2012 15:16
od c0d3r
kolibrik píše:Ahoj mám takový oříšek. Mám data v tabulkách

table_1
ID | string2
----------------------------------
101 | ACGK0164301
102 | ACGK0164301
103 | ACGM0123901
104 | XCVFF0014606
.....

table_2
ID | string1
----------------------------------
1 | ACGK0164301
2 | ACGK0164301
3 | ACGM0123901
4 | ACGZ0014606
....

požadovaný výsledek
ID | string | ID_table1
----------------------------------
1 | ACGK0164301 | 101
2 | ACGK0164301 | 102
3 | ACGM0123901 | 103
4 | ACGZ0014606 | NULL
.....

potřebuju získat požadovaný výsledek a nevím jak na to zkoušel sem JOIN,... ale to mi nepřiřadí různá ID_table1 ??? neřešil ste to už někdo?
pokud struktura id z table1 je 10x kde x je id z table2 .. tka je to easy ne?

SELECT t2.id, t2.string, t1.id
FROM table2 t2
LEFT JOIN table1 t1
ON t1.id = '10' || t2.id
WHERE 1=1

pokud je parovaci klic pres string tak je to jeste vic easy

SELECT t2.id, t2.string, t1.id
FROM table2 t2
LEFT JOIN table1 t1
ON t1.string = t2.string
WHERE 1=1