2016-07-07 59 views
0

我有一个使用CSV文本驱动程序的第三方工具,它允许对导入到工具中的CSV数据执行SQL查询。大多数Oracle SQL查询都可以在此上工作,而许多Oracle SQL查询则不能。Oracle SQL:如何查询没有标题/列名称的CSV?

我有一个要求,我必须读取数据并使用CSV文件将数据导入到工具中,该文件没有可用的列名或头字段。如何在没有定义列名或头的表上执行SQL查询?

样品表:

AB 100 GPAA 9876 
AC 101 GPAB 9877 
AD 102 GPAC 9878 
+0

如果这个工具正在执行查询,那么你必须解释这个工具是什么。我们不能帮你用sql做一个使用某种未知方言的工具 –

+0

做一个'select * where 1 = 2'并且看看列名出现了。 –

+0

外部表格非常适合从平面文件中进行选择:https://oracle-base.com/articles/9i/external-tables-9i – vercelli

回答

0

显然,使用CSV SQL文本驱动程序与CSV文件进行交互时,您可以指定CSV文件是否具有页眉。

jdbc:csv:////<path_to_file>/?_CSV_Header=false; 

然后,我们可以有一个像

select distinct (column1) as accountID, (column2) as groupID from csv_file_name 

(column1), (column2)...代表从左至右文件中的实际列中的参数的查询,他们必须这样写的查询工作。

0

你可能会需要在运行查询之前添加标题。有没有一张表格,数据最终会最终结束?如果是这样,您可以先从那里导出列名,然后将CSV信息追加到新创建的文件中。

+0

我希望这可以在我使用的工具中实现。我想没有其他方法可以将'头文件'添加到文件中。 –