Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    [query] Join If Is Null

    Ciao a tutti, in delle viste ho delle colonne "standard", le quali però devono cambiare il loro contenuto in base al valore di un campo, nel senso che se questo valore è null, quelle colonne verranno riempite da determinati valori in base al valore di un secondo campo, in caso contrario (valore diverso da null), i valori saranno diversi.
    So che il discorso è un po' contorto, ma ecco il join per farvi capire:


    codice:
    LEFT JOIN Tab ON IF(M.idA IS NULL,(AM.idM = TM.idM AND AM.idA = A.idA),                                                   (AM.idM = TM.idM AND AM.idAr = M.idAr))
    Di funzionare funziona, il problema è che è di una lentezza esasperante nel caricare le informazioni.
    Prima di utilizzare il valore NULL per il campo M.idAr, utilizzavo lo 0 ed i l join era più semplice, perchè facevo semplicemente il JOIN su M.idA = X AND M.idAr=0 (praticamente i record che non erano collegati alla tabella AR avevano quel campo pari a 0, quindi il join funzionava).
    In caso contrario, il valore di M.idAr era diverso da 0 ed il join funzionava ugualmente...


    Possibile che l'IF rallenti così tanto la query? Cosa sbaglio?

  2. #2
    dicci (come da regolamento ) con quale db stai lavorando

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.