Pytanie : MySQL IFNULL () wybór

Gdy i wybierać dane od dwa stół dokąd wartość istnieć w kolumna w oba stół i móc właśnie the IFNULL metoda the value.

IFNULL (u.id, m.user_id) JAKO user_id <--- Ten works

but gdy the wartość tylko istnieć w jeden the stół i móc.

IFNULL (m.usergroup_id) JAKO usergroup_id <---- />usergroup_id work

usergroup_id <---- />m.usergroup_id pracować ale NIEOBOWIĄZUJĄCY być returned
m.usergroup_id <---- Stół pracować ale NIEOBOWIĄZUJĄCY być returned

How musieć i wybierać the usergroup id gdy ono tylko istnieć w jeden the stół?
(1):
2:
3:
4:
SELECT u.name, u.username, u.email, IFNULL (u.id, m.user_id) JAKO user_id
IFNULL (m.usergroup_id) JAKO usergroup_id <--- Ten linia pracować
OD table1 JAKO u
LEWICA ŁĄCZYĆ table2 JAKO m NA u.id = m.user_id

Odpowiedź : MySQL IFNULL () wybór

The następujący być mój rozwiązanie:
1- Tworzyć zwyczaj TreeItemRenderer podążać:

RadioButtonTreeItemRenderer.as
_________________________________________________
pakunek
{
      importowy flash.events. Wydarzenie;
      
      importowy mx.controls.RadioButton;
      importowy mx.controls.RadioButtonGroup;
      importowy mx.controls.treeClasses.*;

      społeczeństwo klasowy RadioButtonTreeItemRenderer przedłużyć TreeItemRenderer
      {
            społeczeństwo var RadioBtn: RadioButton;
            społeczeństwo var RadioBtnGR: RadioButtonGroup
        jawny var itemXml: XML;

            jawny funkcja RadioButtonTreeItemRenderer ()
            {
                  super ();
                  mouseEnabled = fałszywy;
            }


            override jawny funkcja ustalony dane (wartość: Przedmiot): pustka {
            jeżeli (wartość! = null) {
                super.data = wartość;
               
                this.itemXml = XML (wartość);
                jeżeli (this.itemXml.@checked == prawdziwy) {
                    this.RadioBtn.selected = true;
                } inny {
                    this.RadioBtn.selected = fałszywy;
                }
            }
        }
        override ochraniać funkcja createChildren (): pustka {
            super.createChildren ();
            RadioBtn = nowy RadioButton ();
            RadioBtnGR = nowy RadioButtonGroup ();
           
           RadioBtn.group = RadioBtnGR;
           addChild (RadioBtn);
        }
        override ochraniać funkcja updateDisplayList (unscaledWidth: Liczba, unscaledHeight: Liczba): pustka {
            super.updateDisplayList (unscaledWidth, unscaledHeight);
            jeżeli (super.data) {
                var tld: TreeListData = TreeListData (super.listData);

                jeżeli (tld.hasChildren) {
                    this.RadioBtn.visible = fałszywy;
                } inny {
                    this.RadioBtn.visible = true;
                }
                jeżeli (RadioBtn.visible) {
                    this.RadioBtn.x = super.label.x
                    super.label.x = this.RadioBtn.x + 17;
                    this.RadioBtn.y = super.label.y+8;
                }
            }
        }
      
      
}
}

________________________________________

2- podaniowy kod być:

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

      
            

                  
                        
                        

                  


                  
                        
                        
                        
                        
                        
                  


                  
                        
                        
                  
 

            

      


      
                              importowy mx.collections.ArrayCollection;
                  importowy mx.rpc.events.ResultEvent;
                  importowy mx.controls. Ostrzeżenie;


                  intymny funkcja TreeClickHandler (wydarzenie: Wydarzenie): pustka
                  {
                        var selectedXmlList: XMLList;
                        var itemObject: Przedmiot = event.currentTarget.selectedItem;

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

                  }

                  intymny funkcja processSelection (lista: XMLList, Objid: Sznurek): pustka {
                        var rzecz: XML;
                        dla lista (rzecz w lista) {
                              jeżeli (item.@id! =Objid)
                              {
                                    item.@checked = fałszywy;
                              } inny
                              {
                                    item.@checked = true;
                              }
                        }
                  }

            ]] >
      



      
                                     id= " myTree "  
                         itemClick= " TreeClickHandler (wydarzenie) "      
                         itemRenderer= " RadioButtonTreeItemRenderer "
                         showRoot= " fałszywy "
                         width= " 100% "  
                         height= " 100% "
                         labelField= " @label "                                            
                         folderClosedIcon= " {null} "
                         folderOpenIcon= " {null} "
                         defaultLeafIcon= " {null} "
                         dataProvider= " {myData} "
                         openItems= " {myData. .item} ">
            


      



Inne rozwiązania  
 
programming4us programming4us