簡體   English   中英

使用 Create 語句刪除 mysql 中的表

[英]Drop table in mysql with Create statement

我正面臨這個問題,我試圖刪除該表(如果它存在)但我一直收到錯誤。 這就是我所擁有的

DROP TABLE IF EXISTS clips_cur;
CREATE TEMPORARY TABLE clips_cur(
SELECT year_r, month_n_r, IFNULL(SUM(current_clip_count),0) as curclips
FROM data_mining.clip_summary stb 
JOIN mstr_all_offer_sum o 
JOIN mstr_all_clip_red_sum d
WHERE stb.offer_id=o.oid AND
d.offer_id = o.oid AND
clip_date>='2022-03-01'AND 
clip_date>=SUBDATE( o.st_d, INTERVAL 1 DAY) AND 
clip_date<=ADDDATE(o.end_d, INTERVAL 1 DAY) AND 
clip_date<='2022-03-28' AND
is_handraiser<>1 
group by year_r, month_n_r)

這是錯誤:

SQL 錯誤 [1064] [42000]:您的 SQL 語法有誤; 查看與您的 MySQL 服務器版本對應的手冊,了解在“創建臨時表 clips_cur( SELECT year_r, month_n_r, IFNULL(SUM(current_' at line 2) 附近使用的正確語法

錯誤 position:行:1

感謝幫助!

您好,要從查詢創建表,請使用“AS”而不是“()”試試這個:

DROP TABLE IF EXISTS clips_cur;

CREATE TEMPORARY TABLE clips_cur
AS
SELECT year_r, month_n_r, IFNULL(SUM(current_clip_count),0) as curclips
FROM data_mining.clip_summary stb 
JOIN mstr_all_offer_sum o 
JOIN mstr_all_clip_red_sum d
WHERE stb.offer_id=o.oid AND
d.offer_id = o.oid AND
clip_date>='2022-03-01'AND 
clip_date>=SUBDATE( o.st_d, INTERVAL 1 DAY) AND 
clip_date<=ADDDATE(o.end_d, INTERVAL 1 DAY) AND 
clip_date<='2022-03-28' AND
is_handraiser<>1 
group by year_r, month_n_r

我試過並為我工作,你有 JOIN 錯誤它不完整你需要使用“ON”而不是“WHERE”的關系字段

例子:

Select t1.field1,t2.field1 
From Table1 t1
Join Table2 t2 on t1.fkfield = t2.keyfield
Where t1.id = 1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM