我对简单的事情有一个复杂的查询,但我已设法让它工作。当idclient为1时查询有效,但当idclient为5时出现问题。
问题是该客户没有订购任何东西,他只是付了一些钱。所以没有a.price,几乎整个表都是空白的,我希望结果像-1200,00或者减去付款金额。我的问题是表的第一部分不存在,因此内连接是不可能的,第二部分也不存在。有什么建议“快速解决”? :)
See the difference between these two implementations by creating new object in addEight method
import java.util.ArrayList;
public class Notes {
public static ArrayList<String> addEight(ArrayList<String> userRhythm) {
userRhythm = new ArrayList<String>();
userRhythm.add("n8");
return userRhythm;
}
public static void main(String args[]){
ArrayList<String> userRhythm = new ArrayList<String>();
userRhythm = Notes.addEight(userRhythm);
System.out.println(userRhythm);
ArrayList<String> userRhythm1 = new ArrayList<String>();
Notes.addEight(userRhythm1);
System.out.println(userRhythm1);
}
}
(代码中可能存在一些输入错误,但不要因为我翻译了我的原始代码而烦恼,所以也许在翻译中丢失了一些字母。代码是正确的)
答案 0 :(得分:1)
这总是只取一行吗?至少看起来像它,如果是这样的话,你可以使用类似这样的变量:
declare @price decimal(10,2) = 0, @payment decimal(10,2) = 0
SELECT
@price = SUM(order.quant * item.itprice ) * ( 100 - order.percent ) / 100)
FROM
item
inner join order
ON order.iditem = item.id
WHERE
order.idclient = 1
SELECT
@payment = SUM(amount)
FROM
payed
WHERE
idcom = 1
select @price - @payment