рдХреЗрд╕ рдХреА рдЪрд╛рд▓; "рдЦрд╛рд▓реА рд╕реЗрдЯ" рд╣реИрдВрдбрд▓рд┐рдВрдЧ

рдПрдХ рдЫреЛрдЯрд╛ рд╣реИрдХ рдЬреЛ рдЖрдкрдХреЛ MySQL (4+) рдХреЗ рдкреБрд░рд╛рдиреЗ рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдореЗрдВ "рдЦрд╛рд▓реА рд╕реЗрдЯ" рдХреЛ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдХреЛрдИ рдлрд╝рдВрдХреНрд╢рди рдирд╣реАрдВ рд╣реИрдВред





рдПрдХ рдЫреЛрдЯрд╛ рд╕рд╛ рдЕрдиреБрд░реЛрдз рд▓рд┐рдЦрддреЗ рд╕рдордп, рдореИрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдорд╕реНрдпрд╛ рдкрд░ рд░реБрдХ рдЧрдпрд╛: рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рдХреЛрдИ рдЕрдиреБрд░реЛрдзрд┐рдд рдЬрд╛рдирдХрд╛рд░реА рдирд╣реАрдВ рдереАред рдпрд╣ рдХреБрдЫ рдЗрд╕ рддрд░рд╣ рджреЗрдЦрд╛ рдЧрдпрд╛:



  рд╕реЗрдЯ @рд╡рд░ = (
     рдЪреБрдирдирд╛
         рдорд╛рдорд▓рд╛
             рдЬрдм
                 t1.field рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реИ
             рддреЛ
                 t1.field
             рдЕрдиреНрдпрдерд╛
                 1
         field_name рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
     рд╕реЗ
         рддрд╛рд▓рд┐рдХрд╛ 1 рдЯреА 1
         t1.tid = t2.id рдкрд░ table2 t2 рд╕реЗ рдЬреБрдбрд╝реЗрдВ
     рдЬрд╣рд╛рдБ
          t1.field2 = '_UNEXISTING_IN_DB_VALUE_'
     t1.tid desc рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░ рдХрд░реЗрдВ
     рд╕реАрдорд╛ рез
 ); 




рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рдмреНрд▓реЙрдХ, рдЬреИрд╕рд╛ рдХрд┐ рдореИрдВрдиреЗ рдЕрднреА рдПрдХ рдЗрдХрд╛рдИ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХреА: рдХрд╛рд░реНрдп, рдЧрдгрд┐рддреАрдп, рддрд╛рд░реНрдХрд┐рдХ рд╕рдВрдЪрд╛рд▓рди, рд▓реЗрдХрд┐рди рдЗрд╕рдиреЗ рдХреБрдЫ рднреА рдорджрдж рдирд╣реАрдВ рдХреА: рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдореЗрдВ, рдЬрдм рдкрд░реАрдХреНрд╖рдг рдХрд┐рдпрд╛ рдЧрдпрд╛, рддреЛ рдХреЗрд╡рд▓ "рдЦрд╛рд▓реА рд╕реЗрдЯ (0.06 рд╕реЗрдХрдВрдб)" рдерд╛ред



рдореИрдВрдиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдлрд╛рд░реНрдо рдореЗрдВ рд▓рдЧрднрдЧ рддреБрд░рдВрдд рд▓рд┐рдЦреЗ рдЧрдП рдмреИрд╕рд╛рдЦреА рдХреЛ рдЫреЛрдбрд╝рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛:



  рд╕реЗрдЯ @ var2 = (рдпрджрд┐ (@рд╡рд░ null, 1, @ var) рдХрд╛ рдЪрдпрди рдХрд░реЗрдВ); 




рдореЗрд░реЗ рдкреБрд░рд╛рдиреЗ рджреЛрд╕реНрдд рдиреЗ рдореБрдЭреЗ рдПрдХ рд╕рдорд╛рдзрд╛рди рдЦреЛрдЬрдиреЗ рдореЗрдВ рдорджрдж рдХреА рдФрд░ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХреА рд╕рд▓рд╛рд╣ рджреА: рдЙрдирдХреЗ рдирд╛рдо рдХреЗ рдмрдЬрд╛рдп рдХреЙрд▓рдо рд╕рдВрдЦреНрдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ, рд╕рд╛рде рд╣реА рд╕рд╛рде рд╕рд╛рдорд╛рдиреНрдп рдЧрдгрдирд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╕рд╣реА рдХреНрд╡реЗрд░реА рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддреА рд╣реИ:



  рд╕реЗрдЯ @рд╡рд░ = (
     рдЪреБрдирдирд╛
         рдорд╛рдорд▓рд╛
             рдЬрдм
                 рдЧрд┐рдирддреА (рез)> реж
             рддреЛ
                 t1.field
             рдЕрдиреНрдпрдерд╛
                 1
         field_name рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдорд╛рдкреНрдд рдХрд░реЗрдВ
     рд╕реЗ
         рддрд╛рд▓рд┐рдХрд╛ 1 рдЯреА 1
         t1.tid = t2.id рдкрд░ table2 t2 рд╕реЗ рдЬреБрдбрд╝реЗрдВ
     рдЬрд╣рд╛рдБ
         t1.field2 = '_UNEXISTING_IN_DB_VALUE_'
     t1.tid desc рджреНрд╡рд╛рд░рд╛ рдСрд░реНрдбрд░ рдХрд░реЗрдВ
     рд╕реАрдорд╛ рез
 ); 




рдпрд╣ рднреА рджреЗрдЦреЗрдВ:

dev.mysql.com/doc/refman/4.1/en/all-subqueries.html



All Articles