2014-07-11 1 views
0

병합 : 나는 APPID 가장 져야 할 엔트리를 무슨 순위를 사용하고,하지만 지금은 문제가 있다면순위 쿼리 두 개의 ID를 통해 검색 한 후

SELECT APPID, 
    (
    SELECT COUNT(*) 
    FROM table 
    WHERE APPID = alias.APPID 
    AND end > (php time()) 
    AS COUNT 
) 
FROM table AS alias 
GROUP BY APPID 
ORDER BY count DESC 
LIMIT 5 

.

두 개의 서로 다른 API에서 나온 games_steam, games_other 두 개의 테이블이 있습니다. 그 (것)들 사이 연결을 창조하기 위하여 나는 games_other에 "steamappid"란을 추가했다. 두 테이블 때문에 게임에 APPIDS가 두 개있을 수 있습니다. steam_games.APPID가 games_other.steamappid에 표시되고 순위가 merge (머지가 games_other.APPID가 주 ID 임) 위치에 검색 할 수 있습니다. 그것들은 어디에 관련되어 있습니까?

이것이 맞는가요?

예 :

games_other

.# | APPID | NAME | steamappid | 
----------------------------------------; 
1 | 440 | game 1 | NULL | 
2 | 654 | game 2 | S423 | 
3 | 435 | game 3 | S35 | 

games_steam

.# | APPID | NAME |  
-----------------------;  
1 | S35 | game 3 | 
2 | S86 | game 4 | 
3 | S423 | game 2 | 

항목

그들이 항목에서 평가하고 분류하는 경우
ID | APPID 
0 | S35 
1 | 435 
2 | S35 
2 | 435 
3 | 440 
4 | 654 
5 | 654 
5 | S423 
0 | S86 

그래서 그것을 보여줄 것이다 :

APPID | COUNT 

435 | 4 
654 | 3 
S86 | 1 
440 | 1 
+0

샘플 데이터와 원하는 결과로 질문을 편집하십시오. –

+0

@GordonLinoff 추가 (마크 다운에서 테이블을 수행하는 방법을 모르는 경우에도) –

+0

죄송합니다. 편집했습니다. –

답변

0

내가 원하는 것을 이해하면 100 % 확신 할 수 없지만 대신 subselect없이 이러한 방식으로 가입 할 수 있습니까?

SELECT gs.APPID, COUNT(gs.APPID) AS total_count 
FROM games_steam gs 
LEFT JOIN games_other go 
ON gs.APP_ID = go.steamappid 
GROUP BY gs.APPID 
관련 문제