質問
私のデータベースには多くのテーブルがあり、私は次のコードで計算値を収集しており、それらの値を他のテーブルに挿入したいと思います。私は選択方法を使って使用していますが、データベースは「キーワードの中にある「誤った構文」を示しています。 "。私は私が欠けている何かがあると信じていますが、どこでわかりません。コードは大丈夫です。これが私のコードです。あらゆる助けが高くなるでしょう。
SELECT (second.[cdate]=@enddate) AS 'Date', first.[machine_no] AS 'No',
tbl_machines.[manufacturer] As 'Manufacturer',
tbl_machines.[type] As 'Machine Type',tbl_machines.[game_name] AS 'Game Name',
tbl_machines.[accounting_denomination] AS 'Denom',
(second.[turnover])-(first.[turnover]) AS 'Turnover',
(second.[total win])-(first.[total win]) AS 'Total win',
(second.[games played])-(first.[games played]) AS 'Games Played',
(second.[Bill in])-(first.[Bill in]) AS 'Bill In',
(second.[credit in])-(first.[credit in]) AS 'Credit IN',
(second.[cancel credit])-(first.[cancel credit]) AS 'Cancel Credit',
tbl_rate.[euro] AS 'euro rate',
tbl_rate.[dollar] AS 'dollar rate'
INTO tbl_daily
FROM tbl.meter first,tbl.machines,tbl_rate
INNER JOIN tbl_meter second ON first.[Machine_No] = second.[Machine_No]
AND
tbl_machines.[local_no]=first.[machine_no]
WHERE first.[cDate] = @StartDate
AND second.[cDate] = @EndDate
AND tbl_rate.[cdate]=@enddate;
.
OK、私は構文に挿入を使用しました、すべてがうまくいっていますが、今、私はDateTimeに問題があります。次のSQLコマンドを使用していたとき、私はエラーを得ていて、「データ型ビットをDateTimeに変換できません」と表示されています。マーティンのキャスト方法を試しましたが、同じです。
マイコードは
INSERT INTO tbl_daily SELECT tbl_machines.[ID] AS 'ID', (second.[cdate]=@enddate) AS 'CDate', first.[machine_no] AS 'No',
tbl_machines.[manufacturer] As 'Manufacturer',
tbl_machines.[type] As 'MachineType',
tbl_machines.[game_name] AS 'GameName',
tbl_machines.[accounting_denomination] AS 'Denom',
(second.[turnover]-first.[turnover]) AS 'Turnover',
(second.[total win]-first.[total win]) AS 'Totalwin',
(second.[games played]-first.[games played]) AS 'GamesPlayed',
(second.[credit in]-first.[credit in]) AS 'CreditIN',
(second.[Bill in]-first.[Bill in]) AS 'BillIn',
(second.[cancel credit]-first.[cancel credit]) AS 'CancelCredit',
tbl_rate.[euro] AS 'eurorate',
tbl_rate.[dollar] AS 'dollarrate'
FROM tbl_meter first,tbl_machines,tbl_rate
INNER JOIN tbl_meter second ON first.[Machine_No] = second.[Machine_No] AND tbl_machines.[local_no]=first.[machine_no]
WHERE first.[cDate] = @StartDate AND second.[cDate] = @EndDate AND tbl_rate.[cdate]=@enddate;
. 解決
NB:SQL Serverを想定して書き込まれました。 vistadbの説明を受信するが、再び vistadbコマンドとして表示されていません。 >ここで。それは間違いなくサポートされていますか?
他のヒント
SQL Serverを使用している場合、Insert Into
は、その場で作成されたテーブルに挿入するためのものです。それは物事をやるべきことですが、テーブルがすでに存在するならば、私はこれを使うでしょう:
INSERT INTO table (column1, columns2, ...)
SELECT
Value1,
Value2,
...
FROM ...
. 所属していません StackOverflow