【问题标题】:Custom SQL with ALTER TABLE使用 ALTER TABLE 自定义 SQL
【发布时间】:2018-10-05 22:41:07
【问题描述】:

在 Tableau 中,我尝试在自定义 SQL 中通过 Alter Table 添加一列 它看起来像这样:

 ALTER TABLE (SELECT [W$].[W], [W$].[SDate], [W$].[EDate], [Date E$].[Date] 
 FROM [W$],[Date E$] 
 WHERE [Date E$].[Date] 
 BETWEEN [W$].[SDate] AND [W$].[EDate]) 
 ADD [Type] string NOT NULL DEFAULT "P1"

但我收到一条错误消息 Syntax Error in FROM clause

如果我使用ALTER TABLE [Date E$],我也会收到此错误

 ALTER TABLE [Date E$] 
 ADD [Type] string NOT NULL DEFAULT "P1"

错误信息:

Database error 0x80040E14: Syntax error in FROM clause.
; The query: SELECT TOP 1 * FROM ( ALTER TABLE [Date E$] 
 ADD [Type] string NOT NULL DEFAULT "P1" ) [TableauSQL]

这是我第一次使用 Alter Table,所以我不确定 FROM 子句在哪里使用,或者我是否做错了。我正在按照我在这里找到的说明进行操作: Add a column with a default value to an existing table in SQL Server

是否可能 Tableau 不允许在创建自定义 SQL 时使用 Alter Table?

我正在使用 Tableau Desktop 2018.1.2

【问题讨论】:

  • 首先,您的第一个 alter table 语句完全没有意义。您将更改语句应用于表,而不是查询。其次,您为什么希望您的报告工具改变表格结构?我很难想出一个用例。
  • 这是我第一次使用 Alter Table,所以我不确定我是否正确使用了它 - 所以这个问题。我想通过添加一列来更改表,这样我就可以创建一个变量来与 Tableau 中的另一个数据源连接。

标签: sql tableau-api alter-table


【解决方案1】:

Tableau 自定义 SQL 将不允许 DDL 语句,例如 Alter table。它创建到数据库的只读连接。 您可以使用设置连接时可用的初始 sql 函数来执行此操作。真的,Tableau 是一个错误的工具。如果您想更改表,您应该使用适合您的数据库的 SQL 客户端。

【讨论】:

  • 感谢您的解释。不幸的是,初始 sql 似乎不适用于我的数据源类型(excel)
猜你喜欢
  • 1970-01-01
  • 2018-04-27
  • 1970-01-01
  • 1970-01-01
  • 2014-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多