草庐IT

mysql - 嵌套case语句sql

我在用SQL编写case语句时遇到问题。我的第一个问题是:是否可以将下面的if语句写成select语句中SQL查询中的case语句?如果不是,那么请查看下面的案例陈述并帮助/指导我进入有效格式。谢谢,非常感谢!IF(var1=1){dothis1;IF(var1=2){Dothis2;}Else{dosomethingelse1;}Elseif(Var1=3){Dothis3;}Else{Dosomethingelse2;}这是我的案例陈述。我知道它不起作用,因为它不是有效的案例陈述。有人可以帮助我使其成为有效的案例陈述吗?提前致谢。SELECTCASEWHENapple.type=1

php - Laravel where if 语句

我遇到了从数据库中选择的问题。基本上我想要实现的是:我有一个包含3列的表格type|number|date我需要根据列(类型)在哪里做If(type=1)thenwherenumber>1elsewheredatetoday()因此,如果类型等于1,则应用编号,否则应用日期。有可能做这样的事情吗?可以用LaravelEloquent做到吗?谢谢。原始查询和数据类型为:type=stringnumber=integerdate=timestamp(Y-m-dH:i:s)查询SELECT*FROMtable_nameWHERECASEWHENtype=daysTHENdate>now()E

MYSQL - 如何选择 CASE(两个表,如果一个不存在,请检查另一个)

我拥有的是mysql数据库中的两个表。一个表包含值为"example@example.com"的字段其他表没有...我想做的是检查两个表中是否有一个字段的值与"example@example.com"匹配。这是我的查询,它不起作用:(#1064-YouhaveanerrorinyourSQLsyntax;checkthemanualthatcorrespondstoyourMySQLserverversionfortherightsyntaxtousenear''atline13)SELECTCASEWHENEXISTS(SELECTaddress,suburb,city,postCo

MYSQL CASE WHEN UPDATE 查询

这是我的table。我需要做的是创建一个CASEWHENUPDATE查询来更新CurrentCredit+1if1-15如果16-30岁,CurrentCredit+2CurrentCreditx.10,如果>=31则四舍五入 最佳答案 看例子SQLFiddleDEMO有点像UPDATEMyTableSETCurrentCredit=CASEWHENCurrentCreditBETWEEN1AND15THENCurrentCredit+1WHENCurrentCreditBETWEEN16AND30THENCurrentCredit

MySQL 触发器 : IF ELSE error

尝试执行第一个触发器,它应该仅在数据是新数据时才将一个表的值插入另一个表。下面是我的代码:BEGINDECLAREemailVARCHAR(30);INSERTINTOdata_auditSETdata_audit_id=OLD.id;IF(NEW.email=OLD.email)THENemail=NULL;ELSEemail=OLD.email;ENDIF;UPDATEcorporate_auditSETemail=emailWHEREcorporate_audit_id=last_insert_id();END我收到以下错误:您的SQL语法有误;查看与您的MySQL服务器版本相对

MySQL IF 然后用数学

是否可以用数学做一个mysqlif/then语句?说...ifproduct_name="apple"thendivideproduct_priceby4elsedonomathonproduct_price链接到类似这样的教程或任何帮助/方向将不胜感激。我结束了使用bluefeet的方法并使用了这个。为将来可能需要的任何其他人提供样本,SELECTDISTINCT12345_parts.*,12345_parts.install_meter+12345_parts.meter_life-12345_parts.prior_meterASnextdue,CASEWHEN12345_pa

php - if, else if echo 语句

如果值为1,则单元格bg为绿色,单元格中的#1如果值为0,则单元格bg为黄色,其中包含0。我想显示"is"而不是“1”和“否”而不是“0”if($row['play']==1){echo"".$row['play']."";}elseif($row['play']==0){echo"".$row['play']."";}值来自复选框(1)和隐藏字段(0)MySQL字段是BOOL。是否有更简单/更好的方法来实现这一点? 最佳答案 你可以这样做:if($row['play']==1){echo"Yes";}elseif($row['pl

mysql - QueryDSL 中 Case Builder 表达式的总和

我有如下查询selectfield1,filed2,count(*),sum(caseisNewWHEN0THEN0ELSE1END)asnew_count1,sum(casesourceWHEN'SomeValue'THEN0ELSE1END)asnew_count2fromTABLEwherestatus='processed'andfiled1='filed1Value'andfiled2='field2Value';此输出是包含我需要的所有值的单行。我想使用queryDSL实现相同的目的。我在QueryDSL中使用CaseBuilder,但无法在其上应用总和。QueryDsl支

mysql - 如何在 MySQL 中使用 JOIN 编写正确的 If...Else 语句?

我是MySQL的初学者,我只知道完全基本的语句,但是现在我该学习一些更困难但更有值(value)的东西了。我实际上在MySQL中有3个表,这是表示:用户:user_id|name|country---------------------------1|Joseph|US2|Kennedy|US3|Dale|UK管理员:admin_id|name|country----------------------------1|David|UK2|Ryan|US3|Paul|UK注意事项:id|n_id|note|comment|country|type|manager-------------

mysql - 如何在mysql存储过程中使用case-when语句?

我想使用request_time参数自动设置session_id,所以我选择了一个包含case语句的mysql存储过程。这里是。createprocedureupd_userinput(inrequest_timetimestamp,outuser_session_idint)beginupdateuser_input;caserequest_timewhentime(request_time)'8:15:00'thensetuser_session_id=1;whentime(request_time)'11:15:00'thensetuser_session_id=2;endcas