Py学习  »  DATABASE

在MySQL中,如何命名“case”中表的几个字段?

Richy Deylor • 4 年前 • 246 次点击  

我试图在MySQL中使用“case”,当我使用第一个代码块(仅命名一个字段)时,它工作,而在第二个代码块(命名多个字段)中,我得到一个错误;似乎使用“case”不允许我使用“,”来分隔字段的名称,在“case”中是否有其他方法来命名表中的几个字段?

第一个街区

DELIMITER $$
CREATE PROCEDURE Load_data (NP VARCHAR(10), Type VARCHAR(10)) 
BEGIN
    SELECT CASE 
      WHEN Type="Apod" THEN APA
      WHEN Type="Pad" THEN APP
      WHEN Type="Mad" THEN APM
      END FROM ap_data WHERE N=NP;
END $$
DELIMITER ;

第二个街区

DELIMITER $$
CREATE PROCEDURE Load_data (NP VARCHAR(10), Type VARCHAR(10)) 
BEGIN
    SELECT CASE 
      WHEN Type="Apod" THEN APA,AMA,NomA,DNIA,Direc,Cu,Mul,NAlum
      WHEN Type="Pad" THEN APP,AMP,NomP,DNIP
      WHEN Type="Mad" THEN APM,AMM,NomM,DNIM
      END FROM ap_data WHERE N=NP;
END $$
DELIMITER ;

执行第二个块时的结果

1064-您的SQL语法有错误;请检查与MySQL服务器版本相对应的手册,以了解在Type=“Pad”时在'AMA、NomA、DNIA、Direc、Cu、Mul、NAlum附近使用的正确语法,然后在第4行使用APP、AMP、NomP、DNIP WH'

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/50719
 
246 次点击