SQLでは、行をグループ化して選択したフィールド(この場合は 'Test1')の値を連結するために 'String_agg(Test1、'、 ') 。例についてはExcelでSQLでstring_aggを使用する方法
:
私は '買い手' フィールド上String_aggを使用せずに結果がクエリを持っている:
**Key** | **Buyer** | **MP**
1 | Josh | Gregory
1 | Bred | Gregory
2 | John | Ethan
期待される結果String_aggを使用すると、次のとおりです。
**Key** | **Buyer** | **MP**
1 | Josh, Bred | Gregory
2 | John | Ethan
しかし、問題は、別のExcelファイルからExcelファイルにデータを取得するSQLクエリでSQLクエリを実行しようとしていることです.Excelクエリのようなエラーが発生して失敗しますString_agg関数が分かりません。
クエリは次のとおりです。
SELECT `Sheet1$`.Key, string_agg(`Sheet1$`.Buyer, `, `) AS `Buyer`, `Sheet1$`.MP
FROM `C:\Input\Data.xls`.`Sheet1$` `Sheet1$`
GROUP BY 2
ORDER BY `Sheet1$`.Key
スクリーンショット:
エラー:
誰かが私を助けて、どのように私は私のクエリを修正する必要が私に言うことができますそれを動作させるには?
ありがとうございました!
CONCAT()関数は、連結するフィールドの数によって異なります。 String_aggはありません。私はクエリを実行した後、どれくらいの「買い手」がなるか分からない。私はそれらを連結し、他の分野を使わずに連結したいと考えています。ありがとう。 –
@GiladKあなたはデータベースとしてExcelを使用していますが、そうではありません。実際のデータベースの使用を検討してください。私は「Excelはデータベースではない」と言うTシャツを自分で印刷する予定です。 –
Lol :)あなたは正しいですが、それは私が今持っているものです。私は今すべての 'Excel DB'をAccessテーブルに移動し、そのAccessファイルへの接続を試みました。もう一度 'String_agg'関数が機能しません。私は何をすべきかわからない。しかし、あなたの時間のおかげで! –