私が始める前に、私は自分のMYSQL初心者の状態をお詫びします。私は、基本的な構造を基本的に少しでも徹底的に教え、苦労しています。MYSQL:エラー1054 - 不明な列
私の質問の背景:四半期に1回、請求書を発行する会社を考えてください。最後の四半期の終わりからおよそ2ヶ月です。私はいくつかの列を持つテーブル(Quarter_Identify)を持つ:
- Quarter_Start EX:2010年1月1日
- Quarter_End EX:2010年3月31日
- Quarter_Ident EX:1000 < ---反復数各四半期の
- Date_Billedこれは私が他のテーブル(Billing_List_1)が含まれている別のテーブル
から移入しようとしている分野である(次の 四半期には1001になります):
- Date_Billed EX:他の客たちは四半期中にすべての注文を取る
に関連するナンセンス、紙幣約60日間、それが終了した後の2010年5月23日
私はかなり近く、私の研究から、私の "Where"句にはまだ作成されていないテーブル "スカイライン"への参照が含まれているという問題が発生していると思います。 「スカイライン」テーブルはすべて一緒に取得されますが、本質的に1ヶ月はオフです(私はDateDiff関数を理解しようとしました)。だから、結果を1つだけオフセットして正しい答えを得るために、下の部分を使用します...私のwhere句(エラー1054)に未知の列があることを教えてください。
Select * from
(select Billing_List_1.date_billed, quarter_identify.quarter_start,
quarter_identify.quarter_end, quarter_identify.quarter_ident from Billing_List_1
join quarter_identify
on Billing_List_1.date_billed > quarter_identify.quarter_start
and Billing_list_1.date_billed < quarter_identify.quarter_end)
as SKYLINETABLE;
update quarter_identify A
set A.date_Billed = SKYLINETABLE.date_Billed
where A.quarter_ident = SKYLINETABLE.quarter_ident - 1
いずれの考えも高く評価されます。すべての素晴らしい夜を過ごしてください。
解決策:もう一度大きな助けをいただきありがとうございます。
update quarter_identify A Left join
(Select * from
(select Billing_List_1.date_billed,
quarter_identify.quarter_start,
quarter_identify.quarter_end,
quarter_identify.quarter_ident from billing_list_1
join quarter_identify
on Billing_list_1.date_billed > quarter_identify.quarter_start
and Billing_list_1.date_billed < quarter_identify.quarter_end)
as T)
as SKYLINETABLE on 1
set A.date_billed = SKYLINETABLE.date_billed
where A.quarter_ident = SKYLINETABLE.quarter_ident - 1
あなたは余分な何かを説明したようです。私たちは混乱しています。 –
チェースに... "エラーコード:1054.不明な列 'where句'のSkyline.quarter_ident '" – Skyline29
多くの請求書に関連する四半期は(私が正しく構造を理解している場合)です。では、なぜあなたは 'Date_Billed'の列ですか? –