我有一个Excel文档,其中列A中的表名和列B中的列名。
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;
非常感谢任何帮助。
答案 0 :(得分: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
引号指定字符串,apersand(&)将它们连接在一起。将评估一组字符串之外的任何内容。
例如,可以修剪并连接带有一堆空格的字符串
= TRIM(A1) & " Trimmed"
会产生
Table1 Trimmed
您的特定示例将如此
="SELECT '" & A1 & "', '" & B1 & "', Account_ID, COUNT(*) FROM " & A1 & " GROUP BY " & B1