Fråga : Lämnat sammanfoga med bästa

Förmiddag som I är pröva till lämnat, sammanfogar det första rekordet i händelsen bordlägger och matchar den till beställa bordlägger. Jag önskar endast 1 rekord, men det är visning 2, därför att det finns 2 i händelsen bordlägger. Kan någon berätta mig vad I-förmiddagen som orätt gör behar? mer ord_carrier evt_carrier
49446 OGILTIG NE08
49446 OGILTIG NE08
för

result

ord_hdrnumber > för
1:
2:
3:
4:
5:
" codeBody " " >select o.ord_hdrnumber, o.ord_carrier, e.evt_carrier för class= " för
" klar "

Svar : Lämnat sammanfoga med bästa

ledset yttre applicera inte lämnat applicerar

välj o.ord_hdrnumber, o.ord_carrier, e.evt_carrier
från orderheadernolla
yttre applicera (välj bästa 1 * från händelse e var o.ord_hdrnumber = e.ord_hdrnumber), e
var o.ord_hdrnumber = 49446

I din original- query,

(välj bästa 1 c1.ord_hdrnumber från händelsen c1 var o.ord_hdrnumber = c1.ord_hdrnumber)

garanteras till retur ”o.ord_hdrnumber”, när som helst den matchar, som hjälpmedlet queryen blir

lämnat sammanfoga händelse e på e.ord_hdrnumber = >> o.ord_hdrnumber <>
Så du som är stilla, får multipler.  Om du hade ett unikt nyckel- i händelse, du bör skriva den som

lämnat sammanfoga händelse e på e.uniqueid =
      (välj bästa 1 c1.uniqueid från händelsen c1 var o.ord_hdrnumber = c1.ord_hdrnumber)

Men även det fungerar inte, därför att i en SAMMANFOGA, du inte kan hänvisa till annan bordlägger (dvs. c1).  APPLICERA kan.
Andra lösningar  
 
programming4us programming4us