| 
									Pages:  [1] 
								 | 
								    | 
							 
						 
					 | 
				 
			 
		 |   
		
		
			
				
					
						
							
								  
								 Author
							 | 
							
								 Topic: SQL question . . .   (Read 63 times)
							 | 
						 
					 
				 | 
			 
		 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														SQL question . . .  
														«  on: January 20, 2005, 08:11:07 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											So are there any good DBA's lurking around here?  I think I'm pretty good but I'm completely stumped by this one.  Here it is.
  The query:
 SELECT prefectures.prefectureID, prefectures.kanji, count(teachers_prefectures.teacherID) as total FROM prefectures INNER JOIN teachers_prefectures USING(prefectureID) INNER JOIN teachers_languages ON  teachers_languages.languageID = '14' and teachers_languages.teacherID = teachers_prefectures.teacherID INNER JOIN teachers ON teachers.status = 'validated' and  teachers.teacherID = teachers_prefectures.teacherID GROUP BY prefectures.prefectureID
  |  
  |  
  The tables:
 CREATE TABLE `teachers` (   `teacherID` smallint(6) NOT NULL auto_increment,   `lastmodified` datetime NOT NULL default '0000-00-00 00:00:00',   `photo` tinytext NOT NULL,   `age` tinyint(4) NOT NULL default '0',   `gender` tinytext NOT NULL,   `privateprice` smallint(6) NOT NULL default '0',   `country` tinytext NOT NULL,   `experience` tinyint(4) NOT NULL default '0',   `nativelanguage` tinyint(4) NOT NULL default '0',   `status` tinytext NOT NULL,   PRIMARY KEY  (`teacherID`),   KEY `status` (`status`(6)) ) ENGINE=MyISAM
  CREATE TABLE `teachers_prefectures` (   `teacherID` smallint(6) NOT NULL default '0',   `prefectureID` smallint(6) NOT NULL default '0',   PRIMARY KEY  (`teacherID`,`prefectureID`),   KEY `prefectureID` (`prefectureID`),   KEY `teacherID` (`teacherID`) ) ENGINE=MyISAM
  CREATE TABLE `teachers_languages` (   `teacherID` smallint(6) NOT NULL default '0',   `languageID` smallint(6) NOT NULL default '0',   PRIMARY KEY  (`teacherID`,`languageID`),   KEY `languageID` (`languageID`),   KEY `teacherID` (`teacherID`) ) ENGINE=MyISAM
  CREATE TABLE `prefectures` (   `prefectureID` tinyint(4) NOT NULL auto_increment,   `prefecture` tinytext NOT NULL,   `kanji` tinytext NOT NULL,   `kana` tinytext NOT NULL,   PRIMARY KEY  (`prefectureID`) ) ENGINE=MyISAM
  |  
  |  
  The explain: explain table
  So there is some ugliness going on here.  If anyone has any idea why I'd buy you a pizza.
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Porter 
					
						[Wumpa] 
						Board Admin 
						      Karma: +176/--88
  
						  Offline
  
						Gender:   
						Posts: 3910 
						 
						
						       
						     
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #1 on: January 20, 2005, 08:38:30 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											Could you fill us in a bit more about what you're trying to do, and what about it isn't working?  I hate joins, but they're easier to understand if you've got some background of the application.
  On a relevant note, since I'm the only one who has taken Knox's Databases course in my current CompSci class, I get to be the sole database guru. I have about 6 separate DBs from the client that need to be merged into one, with addition fields and relations added-- including writing an automated migration tool to DO this! It's a nightmare of a job for only 8 weeks.
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 [Wumpa] Porter    --Silent, professional, lethal... sometimes. 
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #2 on: January 20, 2005, 09:32:33 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											hahaha, yeah I've had to take on the role of DBA here too, it's kind of fun actually :-p  I'm doing a huge DB redesign and migration myself.  I might be switching us to Postgre pretty soon.  You should be able to see my concern just by looking at the explain statement.  I hate anything the mentions "filesort" or "temporary" and I seem to have picked up both of them.  Now I know there are situations where you can't avoid these without table redesign so that could be my problem right there, but I'm hoping I just overlooked something.  
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #3 on: January 20, 2005, 10:07:59 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											The goal is, get a total teacher count for each prefecture.
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #4 on: January 20, 2005, 10:08:46 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											I hate joins too, but they're a rather necessary evil. 
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #5 on: January 20, 2005, 10:12:20 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											I guess I should add, the query is fast enough.  I just hate having either filesort or a temp being used if I can avoid it.
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Ryo-Ohki 
					
						[Wumpa] 
						Board Admin 
						      Karma: +30/-6
  
						  Offline
  
						
						Posts: 187 
						 
						
						       
						   
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #6 on: January 20, 2005, 10:29:42 AM »
													 | 
													
														 
													 | 
												 
											 
											 
											Okay ignore this whole thread.  I am asleep and figured out why this is happening, and I just want to crawl in a hole now . . . . .   
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 "how does this work? where do my teeth go?" - a lepord cub trying to eat a turtle -- panda cam
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
			
				
					
					
						
							
								
									
										
											Porter 
					
						[Wumpa] 
						Board Admin 
						      Karma: +176/--88
  
						  Offline
  
						Gender:   
						Posts: 3910 
						 
						
						       
						     
					
										 | 
										
											
												
													  | 
													
														Re:SQL question . . .  
														« Reply #7 on: January 20, 2005, 12:01:24 PM »
													 | 
													
														 
													 | 
												 
											 
											 
											Good, glad I could help.    
										 | 
									 
										
											
												
													 | 
													
														
															
															  Logged
														
													 | 
												 
											 
											 [Wumpa] Porter    --Silent, professional, lethal... sometimes. 
											
										 | 
									 
								 
							 | 
						 
					 
				 | 
			 
		 
		
		
			
				
					
						
							
								| 
									Pages:  [1] 
								 | 
								
									    
								 | 
							 
						 
					 | 
				 
			 
		 |   
		     | 
   
 
 
  
    
      
     | 
     CSReloaded Forums | Powered by YaBB SE 
© 2001-2003, YaBB SE Dev Team. All Rights Reserved. | 
     
     | 
   
 
 |