Topic: ar galimas fokusas

gal kas zino kaip padaryti taip: turim viena lentele su colsais var ir val as noriu kad ja nuselectintu kad var butu colsas, o val 1 colso val'as????
        |_var_|_val_|
        | a   | av  |
        | b   | bv  |
        | c   | cv  |
       
       
        |_a_|_b_|_c_|
        |av |bv |cv |

Re: ar galimas fokusas

La,

Tai atliekama lenteles "pasukimo" metodu ;)

Lentelė:

CREATE TABLE `t` (
  `id` int(10) unsigned NOT NULL,
  `var` varchar(255) NOT NULL,
  `val` varchar(255) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1

Duomenys:

+----+-----+-----+
| id | var | val |
+----+-----+-----+
|  1 | a   | 1   |
|  1 | b   | 2   |
|  1 | c   | 3   |
|  2 | a   | 11  |
|  2 | b   | 22  |
|  2 | c   | 33  |
+----+-----+-----+

Užklausa:

SELECT id,
  MAX(IF(var = "a", val, NULL)) AS a,
  MAX(IF(var = "b", val, NULL)) AS b,
  MAX(IF(var = "c", val, NULL)) AS c
FROM `t`
GROUP BY id

Rezultatas:

+----+------+------+------+
| id | a    | b    | c    |
+----+------+------+------+
|  1 | 1    | 2    | 3    |
|  2 | 11   | 22   | 33   |
+----+------+------+------+

Re: ar galimas fokusas

galingas reikalas protingai panaudojus :D