Jeg vil gerne lave en query, der henter oplysninger tre steder fra:
rbb_postits, rbb_user_archive og rbb_tabs
Min query skal finde alle rækker i rbb_user_archive, som har feltet 'post_id' til fælles med feltet 'id' fra rbb_postits og hente feltet 'name' fra rbb_tabs, hvor 'id' matcher 'tab' fra rbb_postits... Forvirret? Det er jeg også:
rbb_postits:
-  id | replyto | author | title | content | tab | assession_date
 -  93 | 0       | 1      | test  | [...]   | 2   | 2013-01-29 16:57:14
 -  96 | 0       | 1      | test2 | [...]   | 1   | 2013-01-30 18:06:42
 
rbb_user_archive:
-  user_id | post_id
 -  1       | 93
 -  1       | 96
 
rbb_tabs:
-  id | name
 -  1  | Main
 -  2  | Tests
 
Min query:
-  SELECT p.tab, t.name AS tabname, a.post_id, p.id AS postid, a.user_id, p.title
 -  FROM rbb_postits p, rbb_user_archive a, rbb_tabs t
 -  WHERE p.tab = t.id
 -  AND EXISTS
 -  (
 -      SELECT 1
 -      FROM rbb_user_archive a
 -      WHERE a.post_id = p.id
 -      AND a.user_id = '1'
 -  )
 -  ORDER BY p.assession_date DESC
 
Ovenstående returnerer:
-  tab | tabname | post_id | postid | user_id | title
 -  1   | Main    | 96      | 96     | 1       | test2
 -  1   | Main    | 93      | 96     | 1       | test2
 -  2   | Tests   | 96      | 93     | 1       | test
 -  2   | Tests   | 93      | 93     | 1       | test
 
Men jeg vil gerne have et resultat, der ligner:
-  tab | tabname | postid | user_id | title
 -  1   | Main    | 93     | 1       | test
 -  2   | Tests   | 96     | 1       | test2
 
Hjælp?
						
						
						
						
		
							Indlæg senest redigeret d. 01.02.2013 09:56 af Bruger #16927