Select join dentro de um case

Olá sou nova por aqui.
É possivel fazer o select join dentro de um case ? Se sim por favor me informe onde estou errando, senão o que pode ser feito ?
Vou postar o código.

select m.ArquivoOrdemMov,m.ContadorAgenteMov,m.DataMov,m.SeqOrdemMov,m.SeqProduto,m.SaldoTotalMov,p.DescricaoProduto
,case when m.ArquivoOrdemMov='OC' then 'Preço'
/*(select ci.CustoOCItem from OCItem ci join OC c on c.SeqOC=ci.SeqOC) -> aqui onde localizo o preço */
from Mov m
join MovFisica f on m.SeqMovFisica=f.SeqMovFisica
join OC c on m.ContadorAgenteMov=c.ContadorAgenteOC
join Produto p on m.SeqProduto=p.SeqProduto
where m.ArquivoOrdemMov='OC' and c.SituacaoOC='FECHADA'

You can do this, but for every row, it will run that select statement, so it could be problematic. Also, if it finds more than 1 row, then it will return an error. Why can't you put the table in the from clause?

Olá Mike01, por ter respondido.

Foi feito um case por que vai ter 3 queries uma delas tem preço e as outras duas não, neste caso preciso resolver o subselect que vai ter que ter quando tiver preço.