私はプロのやり方でテーブルをデザインすることを学んでいますが、これが正しいかどうかはわかりません。MySQLクエリは、行データから同じテーブル内の列を生成しますか?
私はピボットテーブルに見えたが、それき
表構造
CREATE TABLE IF NOT EXISTS `catalog` ( `id` int(3) NOT NULL AUTO_INCREMENT, `p_name` longtext NOT NULL, `p_code` varchar(255) NOT NULL, `p_brand` varchar(255) NOT NULL, `p_version` varchar(5) NOT NULL, `parent_id` varchar(255) NOT NULL, PRIMARY KEY (`search_id`) ) ENGINE=MyISAM DEFAULT; +--------+----------+----------+----------+-----------+-----------+ | id | p_name | p_code | P_brand | p_version| parent_id | +--------+----------+----------+----------+-----------+-----------+ | 1 | Alpha | S001 | X | 1 | 6 | | 2 | Alpha | S032 | X | 2 | 6 | | 3 | Alpha | S403 | X | 3 | 6 | | 6 | Prism | S004 | | 1 | | | 6 | Prism | S044 | | 2 | | +--------+----------+----------+----------+-----------+ ----------+
も同じ表に、I、親を参照PARENT_IDとIDのプライマリIDを格納するテーブルを有しています私が達成しようとしているものに合わない。
ルックアップテーブルを使用せずに各IDのバージョンを表示するレポートを生成したいと考えています。
+--------+----------+----------+----------+-----------+-----------+ | id | p_name | version 1| version 2| version 3 | parent_id| +--------+----------+----------+----------+-----------+-----------+ | 1 | Alpha | S001 | S032 | S43 1 | 6 | +--------+----------+----------+----------+-----------+ ----------+
これは素晴らしいことです。同じテーブルの階層を使用する代わりに、テーブル全体を再設計する必要があるように見えます。ありがとうございました。 – user1251668