0
テーブル定義と列数をチェックしてもこのエラーが発生します。間違いなく列数に問題はなく、私が宣言している型の問題であると思います。列名または指定された値の数がテーブル定義と一致しませんエラー(私はそれをチェックし、テーブル定義/数値は同じです)
///指定された列名または数値がテーブル定義と一致しません。 ///
誰も私がやっている大きな間違いを発見できますか?
Create TABLE #tempResults
(
[DateCreatedInvoiced] DATETIME,
[Destination Country] VARCHAR (30),
[Destination Depot] VARCHAR (30),
MovementRef VARCHAR (50),
[Total Chargeable UK] INT,
[Total Chargeable OS] INT,
[Total Chargeable] INT,
[Total AQ] INT,
[Total FAM Allocation] INT,
[Total Transport Cost] INT,
TotalAmetaColDelCost INT,
AQDepotDepot INT,
TotalCons int,
[SailingDate] DATETIME,
[TrailerNumber] VARCHAR (150),
[Count of Cons on Movement] VARCHAR (50),
[INVOICED/NON-INVOICED] VARCHAR (50)
)
INSERT INTO #tempResults
SELECT
Max(Cast(ME.InvoicedDate AS DATETIME)) AS [DateCreatedInvoiced], --1
CR.DestinationCountry AS [Destination Country] , --2
ISNULL(STUFF((SELECT DISTINCT '/' + COALESCE(cr.DestinationDepot, 'NA') FOR
XML PATH('')
), 1, 1, ''), '') AS [Destination Depot], --3
CASE
WHEN PATINDEX('%[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9]%', REPLACE(MU.Number, '-', '')) > 0 THEN STUFF(STUFF(SUBSTRING(REPLACE(MU.Number, '-', ''), PATINDEX('%[A-Z][A-Z][A-Z][A-Z][0-9][0-9][0-9][0-9][0-9]%', REPLACE(MU.Number, '-', '')), 10), 3, 0, '-'), 6, 0, '-')
ELSE ME.MovementReference
END AS MovementRef , --4
CAST(SUM(CASE
WHEN Payable = 'UK' THEN ME.ChargeableWeight
ELSE 0
END) as Decimal (18,2)) AS [Total Chargeable UK], --5
CAST(SUM(CASE
WHEN Payable = 'OS' THEN ChargeableWeight
ELSE 0
END) as Decimal (18,2)) AS [Total Chargeable OS], --6
CAST(SUM(ChargeableWeight) as Decimal (18,2)) AS [Total Chargeable], --7
CAST(SUM(AQCost) as Decimal (18,2)) AS [Total AQ], --8
CAST(SUM(FAMAllocation) as Decimal (18,2)) AS [Total FAM Allocation], --9
CAST(SUM(NottsHaulage + NottsHandling + NottsDistribution + ThurrockDistribution + ThurrockHandling) as Decimal (18,2)) AS [Total Transport Cost],--10
CAST(SUM(CONVERT(DECIMAL(18,2),CASE
WHEN PartnerCurrency = 'GBP' THEN AmetaColDelCost
ELSE AmetaColDelCost/AmetaExchangeRate
END)) as Decimal (18,2)) AS TotalAmetaColDelCost, --11
CAST(SUM(AQDepotDepot) as Decimal (18,2)) AS AQDepotDepot, --12
Cast(COUNT(MCL.ConsignmentReference) as INT) AS TotalCons, --13
MAX(MM.SailingDateTime) AS [SailingDate], --14
MAX(MU.Number) AS [TrailerNumber], --15
CASE
WHEN COUNT(MCL.ConsignmentReference) < 3 THEN 'Movement has 3 or less cons'
ELSE 'Movement has 3 or more cons'
END AS [Count of Cons on Movement], --16
'Invoiced' AS [INVOICED/NOT-INVOICED] --17
選択クエリに 'FROM table_name'はありませんか?!!そしてあなたの 'create table'は' MySQLの構文エラー 'を出します。 –
また、私はあなたの一時テーブルにINSET INTO #tempResults(DateCreatedInvoiced、[Destination Countr]、...)の挿入する列に明示的に名前を付けます。 – Leonidas199x
sql-server私は推測します。 – Serg