我正在尝试运行下面的查询,但不知怎的,我做错了什么。我不是SQL Server的专家,但据我所知,我正在使用的代码没有问题,但如果有人能看到我的问题,请指出给我。
INSERT INTO
[dbo].[StockItems] ([StockCode],[Description],[Mass],[UnitCost],[MinimumStock])
SELECT DISTINCT
[s].[New_StockCode],
RTRIM(LTRIM(ISNULL([s].[New_Description], ''))),
[s].[Mass],
CAST([s].[ UnitCost ] AS float),
CAST([s].[Minimum Stock] AS float)
FROM
[ExcelItemStock].[dbo].[StockItems$] AS [s]
WHERE
[s].[New_StockCode] NOT IN (
SELECT
[StockCode]
FROM
[dbo].[StockItems]
) AND
[s].[New_StockCode] IS NOT NULL AND
[s].[ UnitCost ] IS NOT NULL AND
[s].[Minimum Stock] IS NOT NULL
错误:
INSERT语句的选择列表包含的项目数少于 插入列表。 SELECT值的数量必须与数量匹配 INSERT列。
关键字“AND”附近的语法不正确。
我在 INSERT 和 SELECT 中使用了相同数量的项目。我也无法看到 AND 错误导致我的问题出在哪里?
我正在使用linq-to-entities,以下是我的课程,如果它可能有任何帮助:
public class StockItem
{
public StockItem()
{
SectionGroups = new HashSet<SectionGroup>();
}
public int Id { get; set; }
private string _stockCode;
[Index(IsUnique = true)]
[StringLength(450)]
[Required]
public string StockCode
{
get { return _stockCode; }
set { _stockCode = value.ToUpper(); }
}
public string Description { get; set; }
public virtual ICollection<SectionGroup> SectionGroups { get; set; }
public double? Mass { get; set; }
public double UnitCost { get; set; }
public double? MinimumStock { get; set; }
public override string ToString()
{
return StockCode + " - " + Description;
}
}
编辑:添加了建议的,
并收到错误消息:
's'附近的语法不正确。
@Sachu - 这是一张可以更好地解释我使用StockItems$
我找到了我的问题!很抱歉浪费你所有的时间。我忘了将额外的列添加到dbo.StockItems$
数据库中的ExcelItemStock
表中。完全是我的错!
答案 0 :(得分:2)
SELECT语句中的问题:
function [is_happy,h_array,unh_array]=happy_number(in_val)
%
% Output:
% is_happy: 1 ==> the numberis happy
% 0 ==> the numberis unhappy
% h_array: happy numbers within input
% unh_array: unhappy numbers within input
%
% Input validity check (to be improved)
s=size(in_val);
if(iscell(in_val) || isstr(in_val) || isstruct(in_val) ...
|| ~find(s,1) || length(s) >= 3 || sum(floor(in_val)-in_val) ~= 0)
error('Only scalar or 1 dim array supported')
end
% Vars initialization
h_array=[];
unh_array=[];
h_array_cnt=1;
unh_array_cnt=1;
h_unh_cnt=1;
% Loop through input number
for i=1:length(in_val)
seq=[];
n=in_val(i);
seq_cnt=1;
seq(seq_cnt)=n;
% Test if the number is happy
while(n ~= 1 && n ~= 4)
% Decompose the number in its digits
sn=num2str(n);
nv=str2num(sn(:));
seq_cnt=seq_cnt+1;
seq(seq_cnt)=sum(nv.^2);
n=seq(seq_cnt);
end
% Set and display results
if(n == 1)
disp(['Number ' num2str(seq(1)) ' is HAPPY'])
is_happy(h_unh_cnt)=1;
h_unh_cnt=h_unh_cnt+1;
h_array(h_array_cnt)=seq(1);
h_array_cnt=h_array_cnt+1;
else
disp(['Number ' num2str(seq(1)) ' is UNHAPPY'])
is_happy(h_unh_cnt)=0;
h_unh_cnt=h_unh_cnt+1;
unh_array(unh_array_cnt)=seq(1);
unh_array_cnt=unh_array_cnt+1;
end
end
缺少这些行之间的共同点
答案 1 :(得分:1)
除了最后两个值之间的,
CAST([s].[ UnitCost ] AS float),
CAST([s].[Minimum Stock] AS float)
所以在Select
{} {}} {} {}} {/}}