谁能帮我解决错误?我对MySQL还是很陌生。错误在if else语句中。
select idpersonal,fname,lname,city from fathi.personal where city='QS';
if (fname=A%) then
begin
select idorder,order_no,item_total from fathi.order;
else
update fathi.order
set item_total=0
where personal.idpersonal=order.idpersonal;
IF
在MySQL中不是有效的SQL语句。
这里有三个独立的语句,一个来自个人的SELECT语句,一个来自顺序的SELECT语句(返回表中的所有行),以及一个UPDATE语句,该语句具有一个谓词,该谓词引用了来自未知行源的列。
这是根据问题中所发布内容的一些SQL示例。
1)返回个人与city ='Q5'的所有行
SELECT p.idpersonal
, p.fname
, p.lname
, p.city
FROM fathi.personal p
WHERE p.city='QS';
2)返回订单中与city ='Q5'和fname以'A'开头的个人相关的所有行。(这仅返回来自个人的与订单相关的行。)
SELECT o.idorder
, o.order_no
, o.item_total
, p.idpersonal
, p.fname
, p.lname
, p.city
FROM fathi.order o
JOIN fathi.personal p
ON p.idpersonal = o.idpersonal
AND p.city = 'Q5'
AND p.fname LIKE 'A%' ;
3)修改表“ order”的内容,以将与city ='Q5'的personal相关的所有行的item_total设置为零,并且fname的名称不以'A'开头
UPDATE order o
JOIN personal p
ON p.idpersonal = o.idpersonal
AND p.city = 'Q5'
AND (p.fname IS NULL OR p.fname NOT LIKE 'A%') ;
SET o.item_total=0
这些仅是示例。我们只是在猜测您要实现的目标。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句