| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | WHERE nr="et tal".... Fra : Magnus | 
  Dato :  08-03-05 14:38 |  
  |   
            SQL="SELECT * FROM Profiler WHERE nr='?' ORDER By nr"
 
 
 Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 et tal?
 
 Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 et tekst?
 
 Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 en dato?
 
 osv. med hvad sådan en celle nu kan indeholder? 
 
 
  
            
             |   |   
            
        
 
            
         
           Nikolaj Hansen (09-03-2005) 
         
	
            | Kommentar Fra : Nikolaj Hansen | 
  Dato :  09-03-05 19:34 |  
  |   
            Magnus wrote:
 > SQL="SELECT * FROM Profiler WHERE nr='?' ORDER By nr"
 > 
 > 
 > Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 > et tal?
 > 
 > Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 > et tekst?
 > 
 > Hvordan er det jeg gør i MySQL for at finde alle poster hvor feltet "nr" er 
 > en dato?
 > 
 > osv. med hvad sådan en celle nu kan indeholder? 
 > 
 > 
 
 Du forsøger at give din column tre forskellige domains: et tal (number), 
 streng (varchar) og dato (date).
 
 Det er meget dårligt database design, da du vil være bundet til den 
 laveste fællesnævner, en string (varchar).
 
 Prøv at lave 3 columns i stedet, der har sigende navne. Så vil du være i 
 stand til at skrive:
 
 select * from profiler where date_nr is not null;
 
 Det vil stadig betyde at du har masser af null columns på profiler 
 tabellen, som også er lidt halvdårligt design.
 
 Du bør i øvrigt aldrig skrive:
 
 select * from foo;
 
 Men
 
 select bar from foo;
 
 Da du så udpeger de columns, der er relevante for dit query. Det er mere 
 effektivt for sql cachen i dit DBMS.
 
 mvh
 
 Nikolaj
  
            
             |   |   
            
        
 
            
         
           Magnus (10-03-2005) 
         
	
            | Kommentar Fra : Magnus | 
  Dato :  10-03-05 14:51 |  
  |   
            >> SQL="SELECT * FROM Profiler WHERE action='?' ORDER By action"
 >>
 
 Det er fordi jeg har en kolonne med et id nr på en fodboldspiller og en med 
 en kaldet action. Og action feltet indeholder ne kode som fx. A for 
 advarsel, U for udvisning osv. men hvis det er et tal/nr så er det en 
 udskiftning og nummeret referere til den spiller som kom ind istedet.
 
 Derfor vil jeg have en liste over alle udskiftninger og det er jo alle 
 poster hvor feltet action er et tal?
 
 
 /Magnus 
 
 
  
            
             |   |   
            
        
 
            
         
            Nikolaj Hansen (11-03-2005) 
         
	
            | Kommentar Fra : Nikolaj Hansen | 
  Dato :  11-03-05 18:44 |  
  |   
            Magnus wrote:
 > Det er fordi jeg har en kolonne med et id nr på en fodboldspiller og en med 
 > en kaldet action. Og action feltet indeholder ne kode som fx. A for 
 > advarsel, U for udvisning osv. men hvis det er et tal/nr så er det en 
 > udskiftning og nummeret referere til den spiller som kom ind istedet.
 Du bør så lave en action tabel, med alle de actions du har eks:
 id     Action      
 ------------------
 1   Udvisning
 2   Advarsel
 3   Udskiftning
 
 En tabel, der indeholder spillere:
 
 Id   Spillernavn   Plads
 ------------------------------
 1   Michael Laudrup      9
 2   Del Piero     10
 
 
 Og en relation der imellem (tidspunkt):
 
 SpillerId   ActionId   Tidspunkt
 --------------------------------------------
 1      2      01-01-99 22:22:22   
 2      3      01-01-99 22:23:00
 
 
 > 
 > Derfor vil jeg have en liste over alle udskiftninger og det er jo alle 
 > poster hvor feltet action er et tal?
 
 Select
    a.spillernavn, b.tidspunkt
 from
    spillere a,
    actions b,
    tidspunkt c
 where
        a.id = c.spillerid
    and b.id = c.actionid
    and c.id = 3;
 
 mvh
 
 Nikolaj Hansen
  
            
             |   |   
            
        
 
            
         
             Nikolaj Hansen (12-03-2005) 
         
	
            | Kommentar Fra : Nikolaj Hansen | 
  Dato :  12-03-05 18:40 |  
  |   
            Sorry, Det skulle self være
 
 Select
      a.spillernavn, b.tidspunkt
 from
      spillere a,
      actions b,
      tidspunkt c
 where
          a.id = c.spillerid
      and b.id = c.actionid
      and b.id = 3;
 
 
 mvh
 
 Nikolaj Hansen
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |