Прежде чем мы начнем, прошу прощения за мой статус новичков MYSQL. Я пытаюсь самостоятельно учить и немного борется с базовой базой.MYSQL: Ошибка 1054 - Неизвестная колонка
Справочная информация по моему вопросу: рассмотрите компанию, которая выдает счета раз в квартал ... и примерно через два месяца после окончания последней четверти. У меня есть таблица (Quarter_Identify), который имеет несколько столбцов:
- Quarter_Start EX: 01.01.2010
- Quarter_End EX: 03-31-2010
- Quarter_Ident EX: 1000 < --- итерация номер за каждый квартал (следующий квартал будет 1001)
- Date_Billed Это поле я пытаюсь заполнить из другой таблицы
другая таблица (Billing_List_1) содержит:
- Date_Billed EX: 05-23-2010
- Много прочей чепухи, связанная с клиентами
Мы принимаем все заказы в течение квартала, а также законопроект о 60 дней после того, как она заканчивается. Таким образом, в приведенном выше примере биллинг 5-23-2010 будет связан с кварталом Ян-Мар (мы действительно задерживаем счет). Я хотел бы воспользоваться этой датой и заполнить ее как Date_Billed, связанную с Quart_Ident «1000».
Я довольно близок и из своих исследований думаю, что я столкнулся с проблемой, что мое предложение «Где» включает ссылку на пока еще не созданную таблицу «Skyline». Столбец «skyline» получает все вместе, но по существу отключается на месяц (я сдался, пытаясь выяснить функцию DateDiff). Итак, я использую нижнюю часть, чтобы компенсировать результат одним и получить правильный ответ ... за исключением того, что он говорит мне, что у меня есть неизвестный столбец в моей статье 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
Любые мысли были бы очень признательны. У вас отличный вечер.
Решение по TEEZ: Еще раз спасибо за большую помощь.
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. Неизвестная колонка« Skyline.quarter_ident »в разделе« where »» – Skyline29
Любая четверть (если я правильно понимаю структуру) связана со многими счетами.Итак, почему у вас есть столбец «Date_Billed»? –