0

次の列を持つmysqlテーブルがあります

SNP
Probe
Genotype_00
Mean_00
Std_00
Genotype_01
Mean_01
Std_01
Genotype_11
Mean_11
Std_11

テーブルに次の列が必要です。

SNP
Probe
Genotype
Mean 
Std

ここで、各ペア (SNP、プローブ) には 3 つの行があり、1 つは各遺伝子型に対応しています。

たとえば、行

rs1 probe1 AA 5.6 0.3 AG 4.3 0.2 GG 3.4 0.1

に変換する必要があります

rs1 probe1 AA 5.6 0.3
rs1 probe1 AG 4.3 0.2
rs1 probe1 GG 3.4 0.1

これを行う方法を見つけるのを手伝ってくれる人はいますか? 事前にどうもありがとう、どんな提案でも大歓迎です

ロセッラ

4

2 に答える 2

1

次の列を含むテーブルを作成します。

SNP
Probe
Genotype
Mean 
Std

次に、これらの SQL ステートメントを 1 つずつ実行します。

INSERT INTO new_table
SELECT SNP, Probe, Genotype_00, Mean_00, Std_00
FROM old_table

INSERT INTO new_table
SELECT SNP, Probe, Genotype_01, Mean_00, Std_01
FROM old_table


INSERT INTO new_table
SELECT SNP, Probe, Genotype_11, Mean_00, Std_11
FROM old_table
于 2012-05-16T04:13:53.420 に答える
0

SNP Probe Genotype Mean Std を使用して新しいテーブルを作成するだけで、

insert into NEWTABLE
select SNP, Probe, Genotype_00, Mean_00, Std_00
from old table

次に、00 を 01 と 11 に変更し、クエリを再度実行します。

ただし、snp ペアは互いに隣接しないため、インデックスを作成することをお勧めします。

于 2012-05-16T04:13:59.837 に答える