SELECT SUM(CASE WHEN sales.stor_id='6380' and payterms=60 THEN sales.qty ELSE 0 END) AS col1, SUM(CASE WHEN sales.stor_id='6380' and payterms=30 THEN sales.qty ELSE 0 END) AS col2, SUM(CASE sales.stor_id WHEN '7066' and payterms=60 THEN sales.qty ELSE 0 END) AS col3, SUM(CASE sales.stor_id WHEN '7066' and payterms=30 THEN sales.qty ELSE 0 END) AS col4 FROM sales
sorry,写错了! 如下凑出SQL语句是一个办法,但比较麻烦也不太可能通用: SELECT SUM(CASE WHEN sales.stor_id='6380' and payterms=60 THEN sales.qty ELSE 0 END) AS col1, SUM(CASE WHEN sales.stor_id='6380' and payterms=30 THEN sales.qty ELSE 0 END) AS col2, SUM(CASE WHEN sales.stor_id ='7066' and payterms=60 THEN sales.qty ELSE 0 END) AS col3, SUM(CASE WHEN sales.stor_id ='7066' and payterms=30 THEN sales.qty ELSE 0 END) AS col4 FROM sales
SUM(CASE WHEN sales.stor_id='6380' and payterms=30 THEN sales.qty ELSE 0 END) AS col2,
SUM(CASE sales.stor_id WHEN '7066' and payterms=60 THEN sales.qty ELSE 0 END) AS col3,
SUM(CASE sales.stor_id WHEN '7066' and payterms=30 THEN sales.qty ELSE 0 END) AS col4
FROM sales
如下凑出SQL语句是一个办法,但比较麻烦也不太可能通用:
SELECT SUM(CASE WHEN sales.stor_id='6380' and payterms=60 THEN sales.qty ELSE 0 END) AS col1,
SUM(CASE WHEN sales.stor_id='6380' and payterms=30 THEN sales.qty ELSE 0 END) AS col2,
SUM(CASE WHEN sales.stor_id ='7066' and payterms=60 THEN sales.qty ELSE 0 END) AS col3,
SUM(CASE WHEN sales.stor_id ='7066' and payterms=30 THEN sales.qty ELSE 0 END) AS col4
FROM sales
你的方法不错,我觉得该语句还算有规律可循的。你是个脚踏实地的程序员,中国需要你这样的程序员,前途不可限量。请各位专家继续各抒高论,看有没有更好的方法
是不是指case when **** then +++ end不太可能通用,
而case *** when *** then ++++ end是通用的?
我说的不通用指的是,有些DBMS根本没有CASE WHEN 语句。