2011-08-30 12 views
1

두 개의 테이블, Pages 및 LinkPages가 있습니다.mysql 쿼리를 주문 하시겠습니까?

  • 페이지 id (페이지 식별자)
  • 가 가
  • 의 startDate (일자가 페이지가 생성 된
  • startmemberID (페이지를 생성 부재의 ID) : 페이지 안에
    전 필드가). LinkPages에서

내가 가진 : (페이지와 연결하는)

  • 페이지 id,
  • linkmemberID (회원 페이지와 연결),
  • joinDate (페이지와 링크 된 날짜 회원) .

특정 ID가있는 페이지의 모든 정보를 가져온 다음 페이지가 시작된 날짜까지 주문하려면 어떤 sql 쿼리를 사용해야합니까?

SELECT * FROM LinkPages WHERE linkmemberID='MEMBERID' LIMIT 5 

을하지만, 분명히 나는 ​​내가 조인을 사용해야합니다, 여기를 주문하지 않은 :

나는이 멀리있어? 당신은 두 가지 옵션이 있습니다 ...

답변

5

이가 시도 당신은 할 수있다 JOIN 또는 하위 쿼리 사용할 수 있습니다 : 좋은 측정을 위해

SELECT * FROM LinkPages WHERE linkmemberID='MEMBERID' 
ORDER BY 
    (SELECT startDate FROM Pages WHERE Pages.pageID = LinkPages.PageID) DESC 
LIMIT 5 

을, 여기에 가입입니다 :

-- be sure to use L.* here, otherwise you get all of the columns from 
-- pages as well 
SELECT L.* FROM LinkPages L 
    INNER JOIN Pages P ON P.pageID = L.pageID 
WHERE linkmemberID='MEMBERID' 
ORDER BY P.startDate DESC LIMIT 5 
+1

가 치료를했다! 감사! – Jai

2
SELECT lp.pageID, lp.linkmemberID, lp.joinDate 
FROM LinkPages lp, Pages p 
WHERE lp.linkmemberID='MEMBERID' AND lp.pageID = p.pageID 
ORDER BY p.startDate DESC 
LIMIT 5 
+0

하하 !! 나는 2 초 늦었다 ;-) – HBublitz

0
SELECT lp.* 
FROM LinkPages lp, Pages p 
WHERE lp.pageId = p.pageId 
AND lp.linkmemberID='MEMBERID' 
ORDER BY p.startDate 
LIMIT 5 

죄송합니다 :

많은 감사,

자이

1

에 의해 순서를 잊어 -

SELECT * FROM LinkPages 
INNER JOIN Pages ON Pages.pageID = LinkPages.pageID 
WHERE linkmemberID='MEMBERID' 
ORDER BY startDate DESC 
LIMIT 5 
관련 문제