-2

列 A にテーブル名、列 B に列名を持つ Excel ドキュメントがあります。

A1      B1
Account Account_ID

正しい構文を取得できます。

式は次のとおりです。

=CONCATENATE("Select '",$A$1,"','",B1,"',",B1,", count(*) From ",$A$1, " group by '",",B1,";")

私が得る出力は次のとおりです。

Select 'ACCOUNT','ACCOUNT_ID',ACCOUNT_ID, count(*) From ACCOUNT group by 'ACCOUNT','ACCOUNT_ID',ACCOUNT_ID;

私が必要とする出力は次のとおりです。

Select 'ACCOUNT','ACCOUNT_ID',ACCOUNT_ID, count(*) From ACCOUNT group by ACCOUNT_ID; 

どんな助けでも大歓迎です。

4

1 に答える 1

3

アンパサンドを使用して連結してみてください。

文字列リテラルとセルの内容をそのままリンクできます。

="String1" & "'" & "String2" 

結果として

String1'String2

したがって、Excel セルから SQL ステートメントを構築するために、テーブルとフィールドを含む Excel シートがあるとします。

     A        B       C
1 Table1  Column1  Column2
2 Table2  COlumn1  Column2

これらの値からSQLステートメントを作成できます

="SELECT 'Table1', " & B1 & ", " & C1 & " FROM " & A1
="SELECT 'Table2', " & B2 & ", " & C2 & " FROM " & A2

譲ります

SELECT 'Table1', Column1, Column2 FROM Table1
SELECT 'Table2', Column1, Column2 FROM Table2

引用符は文字列を指定し、アパーサンド (&) はそれらを結合します。文字列のセットの外にあるものはすべて評価されます。

たとえば、一連のスペースを含む文字列をトリミングして結合できます

= TRIM(A1) & " Trimmed"

譲るだろう

Table1 Trimmed

あなたの特定の例は次のようになります

="SELECT '" & A1 & "', '" & B1 & "', Account_ID, COUNT(*) FROM " & A1 & " GROUP BY " & B1
于 2012-05-18T16:37:12.420 に答える