高手大哥帮忙看看着条sql语句错在那里啊???急(100分)

  • 主题发起人 主题发起人 twoghost
  • 开始时间 开始时间
T

twoghost

Unregistered / Unconfirmed
GUEST, unregistred user!
str1:='select F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+',(n1-n2) as 数量'
+'from '
+'(select F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+', sum(F_Amount) as n1 from depotd '
+'where (F_Code like ''CGD%'')'
+' or (F_Code like ''XST%'') or (F_Code like ''SCD%'')'
+' or (F_Code like ''LET%'') or (F_Code like ''JRD%'')'
+' or (F_Code like ''JCH%'')'
+' left join '
+'(select F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+', sum(F_Amount) as n2 from depotd '
+'where (F_Code like ''CGT%'')'
+' or (F_Code like ''XSD%'') or (F_Code like ''SCL%'')'
+' or (F_Code like ''JRH%'') or (F_Code like ''JCD%''))'
+'Group by F_GoodCode,F_Goodname,F_Type,F_Spec,F_size,F_color))';
 
str1:='select a.F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+',(isnull(n1,0)-isnull(n2,0)) as 数量'
+'from '
+'(select F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+', sum(F_Amount) as n1 from depotd '
+'where (F_Code like ''CGD%'')'
+' or (F_Code like ''XST%'') or (F_Code like ''SCD%'')'
+' or (F_Code like ''LET%'') or (F_Code like ''JRD%'')'
+' or (F_Code like ''JCH%'')Group by F_GoodCode,F_Goodname,F_Type,F_Spec,F_size,F_color) as a'
+' left join '
+'(select F_GoodCode as 货品编码'
+', sum(F_Amount) as n2 from depotd '
+'where (F_Code like ''CGT%'')'
+' or (F_Code like ''XSD%'') or (F_Code like ''SCL%'')'
+' or (F_Code like ''JRH%'') or (F_Code like ''JCD%'')Group by F_GoodCode) as b'
+'on a.F_GoodCode=b.F_GoodCode';
 
错误有四 :
1、数量后要有空格。
2、depotd应标示为a和b
3、列名应有a.xxx,b.yyy样式。
4、select * from (select ...) as a,这样的语法才是正确的。
最好不要写这一长串语句,而直接做视图!
 
提示F_GoodCode没有默认值????
 
str1:='select a.F_GoodCode as 货品编码,F_Goodname as 货品名称'
+',F_Type as 类型,F_size as 尺寸,F_color as 颜色'
+',(isnull(n1,0)-isnull(n2,0)) as 数量'
+'from '
+'(select F_GoodCode,F_Goodname'
+',F_Type,F_size,F_color'
+', sum(F_Amount) as n1 from depotd '
+'where (F_Code like ''CGD%'')'
+' or (F_Code like ''XST%'') or (F_Code like ''SCD%'')'
+' or (F_Code like ''LET%'') or (F_Code like ''JRD%'')'
+' or (F_Code like ''JCH%'')Group by F_GoodCode,F_Goodname,F_Type,F_Spec,F_size,F_color) as a'
+' left join '
+'(select F_GoodCode '
+', sum(F_Amount) as n2 from depotd '
+'where (F_Code like ''CGT%'')'
+' or (F_Code like ''XSD%'') or (F_Code like ''SCL%'')'
+' or (F_Code like ''JRH%'') or (F_Code like ''JCD%'')Group by F_GoodCode) as b'
+'on a.F_GoodCode=b.F_GoodCode';
 
后退
顶部