0
に私は次の2つの表があります。テーブルのターンMySQLのテーブルの行列
CREATE TABLE asset (
sid int(11) NOT NULL AUTO_INCREMENT,
asset_code varchar(32),
notes longtext,
PRIMARY KEY ('sid'),
kEY 'index_asset' ('asset_code'),
)
CREATE TABLE asset_data (
asset_code varchar(32) NOT NULL ,
sid int(10) unsigned NOT NULL,
field_name varchar(128) NOT NULL,
field_value mediumtext NOT NULL,
PRIMARY KEY (sid,field_name),
KEY asset_code (asset_code),
KEY sid_asset_code (sid,asset_code)
)
サンプルデータを次のとおりです。
INSERT INTO asset(asset_code,notes)
values('asset001','aaaaaaaa'),
('asset002','bbbbbbbb');
INSERT INTO asset_data(asset_code,sid,field_name,field_value)
values('asset001',1,'location','LL'),
('asset001',1,'mass','20kg'),
('asset001',1,'date_of_purchase','2005-04-17'),
('asset002',2,'location','CK'),
('asset002',2,'mass','190kg'),
('asset002',2,'date_of_purchase','2010-04-03');
データように、どのように私は、このデータを表示することができます
asset_code sid location mass date_of_purchase
asset001 1 LL 20kg 2005-04-17
asset002 2 CK 190kg 2010-04-03
でGROUP BYで行われます。 – Roman
@Romanでは、MAXとCASEと組み合わせてGROUP BYでピボットする必要がありません –