Mam dwie tabele:konwersji wielu wierszy do kolumn w MySQL
TABLEA
+-------+--------+
| Data | Acc_No |
+-------+--------+
| Unix | 10 |
| Linux | 20 |
+-------+--------+
TableB
+-----+----------+--------+
| Obj | Type | Amount |
+-----+----------+--------+
| 10 | rev | 100.00 |
| 10 | revision | 200.00 |
+-----+----------+--------+
Chcę wyjście jak ten
+-------+--------+----------+--------+-----------+----------+
| Data | Acc_No | Type | Amount | Type_1 | Amount_1 |
+-------+--------+----------+--------+-----------+----------+
| Unix | 10 | rev | 100 | revision | 200 |
+-------+--------+----------+--------+-----------+----------+
Próbowałem to zrobić za pomocą prostego sprzężenia. Oto zapytanie:
SELECT a.Data,a.Acc_No, b.Type, b.Amount, bb.Type AS "Type_1", bb.Amount AS "Amount_1"
FROM TableA a,TableB b, TableB bb
WHERE a.Acc_No = b.Obj AND
b.Obj = bb.Obj AND
bb.Obj = a.Acc_No AND
a.Acc_No =10;
Ale mam to wyjście.
+------+--------+----------+--------+----------+----------+
| Data | Acc_No | Type | Amount | Type_1 | Amount_1 |
+------+--------+----------+--------+----------+----------+
| Unix | 10 | rev | 100.00 | rev | 100.00 |
| Unix | 10 | revision | 200.00 | rev | 100.00 |
| Unix | 10 | rev | 100.00 | revision | 200.00 |
| Unix | 10 | revision | 200.00 | revision | 200.00 |
+------+--------+----------+--------+----------+----------+
Próbowałem wyszukać odpowiedź na tej stronie, a ja nawet googlowałem, ale nie znalazłem na to właściwej odpowiedzi.
Woli dwa typy zawsze są "rev" i "rewizja"? Czy będą inne typy? Czy będzie więcej niż dwa typy? – JNevill
Nie, istnieją tylko dwa typy, rev i rewizja. To tylko przykładowe dane, ale moje wyższe oczekiwania oczekują tego rodzaju wyników. – Am1t