我正在尝试使用查询结果获得格式正确的.csv。我是SQL的新手,到目前为止,这令人沮丧。原始查询正确输出标题,但不会删除LOOKUP列中的额外空格,这会导致问题。
此查询:
select TB_SKU_LOOKUPS.LOOKUP, TB_SKU_BUCKETS.QOH
from TB_SKU_BUCKETS
inner join TB_SKU_LOOKUPS
on TB_SKU_BUCKETS.SKU_ID=TB_SKU_LOOKUPS.SKU_ID
where TB_SKU_BUCKETS.STORE_ID = '1'
and TB_SKU_BUCKETS.QOH > '0'
and TB_SKU_LOOKUPS.LOOKUP not like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0- 9]';
输出:
LOOKUP,QOH
730366010008 ,2
185843000285 ,3
185843000278 ,2
810191011729 ,6
当我添加rtrim()时,数据是正确的,但LOOKUP被删除。
select rtrim(TB_SKU_LOOKUPS.LOOKUP), TB_SKU_BUCKETS.QOH
from TB_SKU_BUCKETS
inner join TB_SKU_LOOKUPS
on TB_SKU_BUCKETS.SKU_ID=TB_SKU_LOOKUPS.SKU_ID
where TB_SKU_BUCKETS.STORE_ID = '1'
and TB_SKU_BUCKETS.QOH > '0'
and TB_SKU_LOOKUPS.LOOKUP not like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]';
产生:
,QOH
730366010008,2
185843000285,3
185843000278,2
要清楚,我正在寻找看起来像这样的结果:
LOOKUP,QOH
730366010008,2
185843000285,3
185843000278,2
希望这很简单。提前谢谢。
答案 0 :(得分:1)
向列名称添加函数将根据您的DBMS提供不同的结果,但在这种情况下,它只返回null作为columnName。请尝试使用rtrim(TB_SKU_LOOKUPS.LOOKUP) AS LOOKUP
。
另外,对于它的价值,您应该尝试将DBMS(sql server,oracle,mysql等)作为标记包含在您的问题中。
答案 1 :(得分:0)
我相信你需要给你的字段提供别名。
e.g。
select rtrim(TB_SKU_LOOKUPS.LOOKUP) as Lookup