我需要創建一個查詢,該查詢將顯示具有最低但最接近的id的項目名稱,該項目也被視爲「關鍵」項目,具體取決於任務代碼是空的。這似乎是一個有點令人費解,所以我把它放在一個簡單的代碼來簡化:如何使用ifnull創建臨時表
ifnull (Task_Code,
create Key_temp
select id_temp
task_is_key_temp
task_id_temp
proj_name_temp
from projetos_main pm left join pcrs
ON pcrs.num_doc = pm.Task_code
where task_id_temp <= task_id and
task_is_sum_temp = 'true'
order by id desc
limit 1
所以,當任務代碼爲空,我想創建一個臨時表,從信息填充它我主表,並得到一個既是「重點項目」,又有低於原始標識的結果。
的問題是,我不知道是否有可能創建一個使用「IFNULL」臨時表,當我做到以下幾點:
ifnull(Task_code,
CREATE TABLE Key_temp ...)
我得到一個語法錯誤。所以這是不可能的或者是我的代碼錯了?
編輯
這裏的表結構:
Pcrs
Num_doc|
1 |
2 |
- |
Projetos_main
Id || Task_is_key || Task_id || Proj_name || Task_code |
1 || False || 3 || Name 1 || 1 |
2 || True || 5 || Name 2 || 2 |
3 || False || 5 || Name 3 || - |
Task_code是一個外鍵引用Num_doc。不是所有的項目都有一個Task_Code,所以當發生這種情況時,我需要顯示項目名稱與最近的ID,這也是一個關鍵項目。
因此,它應該停止在項目3,意識到Task_code是空的,並獲得項目2,它具有相同的task_id AND是一個key_task。
將您所需要的臨時表? –
這個邏輯有點複雜,但如果絕對必要的話,我可以把它包含在問題中。我是不是該? – RazorFinger
我基本上需要在同一張表上包含來自不同行和列的信息 – RazorFinger