我确定这是简单的SQL,但我有一个表,其中包含X(当前3个)级别中的每个级别的多个记录。我基本上想把它复制到csv文件,每个级别一个。拆分foxpro表
我有SQL选择,我可以复制出来。我也可以选择获取文件中唯一级别的列表。我无法工作的是如何让foxpro遍历唯一的级别并提供文件名并只保存相关记录。
我正在使用扫描来遍历独特的记录,但显然我在做什么,然后是错误的。
* identify the different LPG report levels
SELECT STREXTRACT(ALLTRIM(group),"|","|",3) as LPG_level FROM &lcFile GROUP BY LPG_level INTO CURSOR levels
TEXT to lcSql1 noshow textmerge pretext 15
SELECT
LEFT(ALLTRIM(group),ATC("|",ALLTRIM(group))-1) as Sim,
STREXTRACT(ALLTRIM(group),"|","|",1) as Company,
ENDTEXT
TEXT to lcSql2 noshow textmerge pretext 15
time,
SUM(as) as Asset_Share_Stressed,
SUM(as_us) as Asset_Share_Unstressed
FROM <<lcFile>>
GROUP BY Sim,
Company,
Fund,
LPG_level,
Output_group,
time
ORDER BY sim asc,
output_group asc
INTO CURSOR bob
ENDTEXT
TEXT to lcSqlgroup2 noshow textmerge pretext 15
RIGHT(ALLTRIM(group),LEN(ALLTRIM(group)) - ATC("|",ALLTRIM(group),4)) as Output_group,
ENDTEXT
TEXT to lcSql_fund2 noshow textmerge pretext 15
STREXTRACT(ALLTRIM(group),"|","|",2) as Fund,
ENDTEXT
TEXT to lcSql_level noshow textmerge pretext 15
STREXTRACT(ALLTRIM(group),"|","|",3) as LPG_level,
ENDTEXT
&lcSql1 + &lcSql_fund2 + &lcSql_level + &lcSqlgroup2 + &lcSql2
SELECT levels
SCAN
COPY TO output_path + lcFilename + levels.LPG_level for bob.LPG_Level = levels.LPG_Level
endscan