Developer17 Posted December 28, 2016 at 03:08 PM Report Share #601543 Posted December 28, 2016 at 03:08 PM Boas pessoal. Estou com um nó e precisava de uma ajuda vossa. Estou a fazer uma query em sql para usar num desenvolvimento que estou a criar em PHC. A query é a seguinte: select ft.ftstamp, ft.nmdoc, ft.fno, ft.nome, ft.fdata, ft.estab, ft.etotal, (case when fi.bistamp<>'' then (select bi.bistamp, bi.obrano, bi.nmdos from fi inner join bi on fi.bistamp=bi.bistamp) end) from ft inner join fi on fi.ftstamp=ft.ftstamp where ft.fdata='20161228' com esta query dá-me o seguinte erro: Only one expression can be specified in the select list when the subquery is not introduced with EXISTS. O meu problema é o seguinte: Necessito de receber toda a informação pedida da tabela FT e, caso na tabela FI o campo bistamp esteja preenchido, ir buscar também à tabela BI 2 campos. E queria agrupar esta informação pelos dados da tabela FT. Link to comment Share on other sites More sharing options...
M6 Posted December 28, 2016 at 06:17 PM Report Share #601551 Posted December 28, 2016 at 06:17 PM O erro diz tudo: a tua query no case que tens no select principal pode retornar vários valores, o que não é possível, caso contrário terias vários registos na última coluna para cada linha da query principal. O que necessitas é de usar um left join (ou um inner join caso a informação exista sempre) com a FI. Ou então usares um union all, e usas uma query para cada um dos casos. Desconhecendo o modelo e o negócio não é possível ajudar mais. 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar." Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now