2016-04-16 7 views
0

enter image description here列ヘッダーに一致する値で置換するクエリ

これは少しトリッキーです。 TABLE1の意志の値のいくつかは、IDによって表2と記録され、グループ内の 列ヘッダと一致するように、私は、クエリ以下と試みたが、失敗しました:

TRANSFORM Persons 
SELECT ID, City, Country 
FROM Table1 
GROUP BY ID, City, Country 
PIVOT Group; 
+0

それはMS Accessのだ@HansUP、私はhabbitとしてMySQLを入れておく...私はあなたがテキストをコピーとして、あなたのデータを追加&ペーストができた場合、物事をしようとする方が簡単だろう – Alex

+0

をそれを取るでしょう。 http://www.sensefulsolutions.com/2010/10/format-text-as-table.html(元のデータを取得するために「解析テーブル」を使用できます)。 – Andre

+0

例のようにID + City + Countryは常にリンクされていますか? IDは市のIDですか? – Andre

答えて

1

TRANSFORM句(あなたの場合はSUM)の集計関数がありません。予約語のGroupは[角括弧]に入れる必要があります。

TRANSFORM Sum(Persons) 
SELECT ID, City, Country 
FROM Table1 
GROUP BY ID, City, Country 
PIVOT [Group]; 
+0

ありがとう、それは正しいトラックにあることを知って良い – Alex

2

単純なピボットだこと。私は途中で何かを見ることはありません。

同様の質問は "Convert Rows to columns using 'Pivot' in SQL Server"でした。

しかし、私はむしろVBとAccessを使ってピボットを読むことを読んでいます。 MSDNにはTRANSFORM Statementがあります。

+0

リンクはMySqlのようですね。タブを取り去った、それはAccessのためのものです。 – Alex

+0

2番目のリンク(TRANSFORM)はAccess用です。 – pid

+0

私はそれを感謝しますが、それはちょっと緊急ですので、私は実際にそれを勉強することができません、私は私の試みを編集しました、それはまだ動作していません – Alex

1

このSQLを試しました。

TRANSFORM Count(Grouping.Country) AS CountOfCountry 
SELECT ID, City, Country 
FROM Grouping 
GROUP BY ID,City,Country 
PIVOT Group; 

これは私にこれを与えます。 enter image description here

あなたができることはすべてカウントされるので、最終結果はあなたの例で示しているものと少し異なります。私は間違っている可能性がありますが、私はあなたが得ることができるほど近いと思います。

+0

私はG1/G2/etcの下に数字の表示が必要ですが、あなたの試行には感謝します! – Alex

関連する問題