이 수식에서 우선 순위가 올바르지 않습니다.계산이 올바르지 않음
내가 원하는 일은 할인없이 부분 부분을 계산하는 것입니다. 누군가 내 실수를 저에게 할 수 있습니까? ,
((`p`.`tax_state` + `p`.`tax_fed`)/100) *
((`p`.`price` * `op`.`quantity`) -
((`p`.`price` * `op`.`quantity`) * `op`.`discount`))
이 수식에서 우선 순위가 올바르지 않습니다.계산이 올바르지 않음
내가 원하는 일은 할인없이 부분 부분을 계산하는 것입니다. 누군가 내 실수를 저에게 할 수 있습니까? ,
((`p`.`tax_state` + `p`.`tax_fed`)/100) *
((`p`.`price` * `op`.`quantity`) -
((`p`.`price` * `op`.`quantity`) * `op`.`discount`))
는 세율이 백분율로 저장되어있는 점을 감안,하지만 할인 분수로 저장됩니다 (일관성을 위해 너무 많이!), 그리고 역 따옴표가 정말 필요하지 않습니다 가독성을 위해 매우 바람직하지 않은 것을 지적 다음 ...
(p.price * op.quantity) AS gross_price_exc_tax,
(p.price * op.quantity) * (1 + (p.tax_state + p.tax_fed)/100)
AS gross_price_inc_tax,
(p.price * op.quantity) * (1 + (p.tax_state + p.tax_fed)/100) *
(1 - op.discount) AS net_price_inc_tax,
...
이들은 당신이 쓴 것과 매우 유사하다, 그래서 당신은 당신이, 당신이 결과로 얻고 무엇을 입력 데이터로 가지고 있고, 무엇을 설명 할 필요가 당신은 당신이 예상하는지 설명 할 수 있어야한다 네가 가진 것과는 대조적이다. 부동 소수점 값이 될 것으로 예상 할 때 MySQL이 표현식의 일부를 정수로 취급 할 위험이 있습니까?
내가했던 것처럼해야하고, 한 번에 한 세트 씩 표현을 쌓아서 매번 결과를 분석해야합니다. 이렇게하면 문제를 빨리 찾을 수 있습니다. 예를 들어, 내가 추가 할 수
(1 + (p.tax_state + p.tax_fed)/100) AS tax_multiplier
을 즉, (1) 대신에 1.125 또는 올바른 부분이 무엇이든, 그때 그 표현을 검토 알고있는 것으로 나타났다 아마 두 상수에 소수점을 추가합니다.
세금없이 부분합을 계산하려면 수식에 "tax_state"및 "tax_fed"라는 단어가 포함되는 이유는 무엇입니까? – jmort253
나는 세금과 할인을 포함시키고 싶었고, 정확한 합계가 있는지 확인하기 위해 세금과 할인을 되돌리고 싶었습니다. – Jim
'할인'은 숫자 ('25')에 저장되어 있습니까? 또는 분수 ('.75'). –