1
最后两个参数是PHP WHERE和ORDER子句,它们(可能)在这里不重要。有没有这种MySQL CASE SELECT的更好的方法?
fornecedores.nome_emp AS nome_fornecedor, exchange_rates1.rate AS rateEUR_USD,
exchange_rates2.rate AS rateEUR_AOA,
CASE produtos.moeda
WHEN 'AOA' THEN produtos.preco_custo/exchange_rates2.rate
WHEN 'EUR' THEN produtos.preco_custo
WHEN 'USD' THEN produtos.preco_custo/exchange_rates1.rate
END as prc,
CASE produtos.moeda
WHEN 'AOA' THEN produtos.preco_venda/exchange_rates2.rate
WHEN 'EUR' THEN produtos.preco_venda
WHEN 'USD' THEN produtos.preco_venda/exchange_rates1.rate
END as pvp
FROM produtos
LEFT JOIN fornecedores ON produtos.id_fornecedor = fornecedores.id_fornecedores
LEFT JOIN exchange_rates AS exchange_rates1 ON exchange_rates1.para = 'USD'
LEFT JOIN exchange_rates AS exchange_rates2 ON exchange_rates2.para = 'AOA'
$whereClause $orderClause
在此先感谢:d
该死的,我实际上就是这么想的,但是如果我们在谈论欧元,我们实际上什么都不做也不管。我的exchange_rate表没有一排欧元......对我感到羞耻......感谢VoteyDisciple – eduardev 2010-10-11 15:40:47