Questione : Selezione di MySQL IFNULL ()

Quando seleziono i dati a partire da due tabelle in cui un valore esiste in colonne in entrambe le tabelle posso usare appena il metodo di IFNULL per selezionare il value.

IFNULL (u.id, m.user_id) COME user_id <--- Questo works

but quando il valore esiste soltanto in una delle tabelle io non può.

IFNULL (m.usergroup_id) COME usergroup_id <---- Ciò non fa work

usergroup_id <---- Ciò funziona ma la POSIZIONE DI SEGNALE MINIMO è returned
m.usergroup_id <---- Ciò funziona ma la POSIZIONE DI SEGNALE MINIMO è returned

How dovrebbe io seleziona l'identificazione del gruppo di utenti quando esiste soltanto in una delle tabelle?
class= > " libero " del
> " del codeSnippet " del class= del
class= " lineNumbers " del
class= del
1:
2:
3:
4:
>SELECT notpretty u.name, u.username, u.email, IFNULL (u.id, m.user_id) " del class= " del id= " codeSnippet755936 del
           
class= del

Risposta : Selezione di MySQL IFNULL ()

Ciò che segue è la mia soluzione:
1- Generare un TreeItemRenderer su ordinazione come segue:

RadioButtonTreeItemRenderer.as
_________________________________________________
pacchetto
{
      importazione flash.events. Evento;
      
      importazione mx.controls.RadioButton;
      importazione mx.controls.RadioButtonGroup;
      importazione mx.controls.treeClasses.*;

      il codice categoria pubblico RadioButtonTreeItemRenderer estende TreeItemRenderer
      {
            pubblico varietà RadioBtn: RadioButton;
            pubblico varietà RadioBtnGR: RadioButtonGroup
        itemXml pubblico di varietà: XML;

            funzione pubblica RadioButtonTreeItemRenderer ()
            {
                  eccellente ();
                  mouseEnabled = falso;
            }


            dati stabiliti di funzione pubblica della provvigione supplementare (valore: Oggetto): vuoto {
            se (valore! = posizione di segnale minimo) {
                super.data = valore;
               
                this.itemXml = XML (valore);
                se (== di this.itemXml.@checked allineare) {
                    this.RadioBtn.selected = allineano;
                } altrimenti {
                    this.RadioBtn.selected = falso;
                }
            }
        }
        la funzione protettiva provvigione supplementare createChildren (): vuoto {
            super.createChildren ();
            RadioBtn = nuovo RadioButton ();
            RadioBtnGR = nuovo RadioButtonGroup ();
           
           RadioBtn.group = RadioBtnGR;
           addChild (RadioBtn);
        }
        updateDisplayList di funzione protettivo provvigione supplementare (unscaledWidth: Numero, unscaledHeight: Numero): vuoto {
            super.updateDisplayList (unscaledWidth, unscaledHeight);
            se (super.data) {
                tld di varietà: TreeListData = TreeListData (super.listData);

                se (tld.hasChildren) {
                    this.RadioBtn.visible = falso;
                } altrimenti {
                    this.RadioBtn.visible = allineano;
                }
                se (RadioBtn.visible) {
                    this.RadioBtn.x = super.label.x
                    super.label.x = this.RadioBtn.x + 17;
                    this.RadioBtn.y = super.label.y+8;
                }
            }
        }
      
      
}
}

________________________________________

2- il codice di applicazione è:

backgroundColor= " #FFFFFF " di http://www.adobe.com/2006/mxml " >

      
            

                  
                        
                        

                  


                  
                        
                        
                        
                        
                        
                  


                  
                        
                        
                  
 

            

      


      
                              importazione mx.collections.ArrayCollection;
                  importazione mx.rpc.events.ResultEvent;
                  importazione mx.controls. Allarme;


                  funzione riservata TreeClickHandler (evento: Evento): vuoto
                  {
                        selectedXmlList di varietà: XMLList;
                        itemObject di varietà: Oggetto = event.currentTarget.selectedItem;

                        se (! myTree.dataDescriptor.isBranch (itemObject)) {
                              selectedXmlList = myData.item.part. (== itemObject.@parentid del @parentid);
                              processSelection (selectedXmlList, itemObject.@id);
                        }

                  }

                  processSelection riservato di funzione (lista: XMLList, Objid: Stringa): vuoto {
                        articolo di varietà: XML;
                        per ciascuno (articolo nella lista) {
                              se (item.@id! =Objid)
                              {
                                    item.@checked = falso;
                              } altrimenti
                              {
                                    item.@checked = allineano;
                              }
                        }
                  }

            ]] >
      



      
                                     id= " myTree "  
                         itemClick= " TreeClickHandler (evento) “      
                         itemRenderer= " RadioButtonTreeItemRenderer "
                         showRoot= " falso "
                         width= " 100% "  
                         height= " 100% "
                         labelField= " @label "                                            
                         folderClosedIcon= " {posizione di segnale minimo} “
                         folderOpenIcon= " {posizione di segnale minimo} “
                         defaultLeafIcon= " {posizione di segnale minimo} “
                         dataProvider= " {myData} “
                         openItems= " {myData. .item} “>
            


      



Altre soluzioni  
 
programming4us programming4us