草庐IT

if-cases

全部标签

mysql - 使用 IF … THEN … ELSE 在两个 SELECT 查询之间进行选择

我需要有关我将称为“app_Update_Users”的应用程序中的SELECT语句的帮助。此应用程序旨在更新用户表中的记录。应用代码引用了下表:州县组织用户States表包含美国所有50个州的列表。Counties表包含加利福尼亚州58个县的列表。Organization表包含可能位于任何州并在一个或多个加利福尼亚县提供服务的组织列表。添加或更新用户记录时,我想根据组织所在的州和提供服务的县过滤组织列表。该应用程序具有三个选择类型的语句,用于在用户记录中创建属性选择列表。我已经编写了适用于前两个语句的代码,但我在处理第三个语句的代码时遇到了问题。这些语句引用的字段是:-美国-u县-u

具有多个 'case' 值的 mysql 'WHEN'

我有一个查询需要对其他2列为true的列进行计数。当“DealerName”如“%MINI%”和“DealerContact_Y”=1时,我需要计算“DealerName”但我不确定语法。此查询产生错误SELECTDealerName,count(DealerShipId)asdealersContacted,CASEWHENDealerNameLIKE"%MINI%",WHENDealerContact_Y=1THENCount(DealerContact_Y)ENDasMini_contacted_yes,Campaign,DealerIdFROMtblsummaryResults

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支