2013-03-22 4 views
0

각 테이블에 Nr_Crt가 autoincrement 인 다중 테이블이 있습니다. 나는 쿼리의 결과를 표시 할 수 있어요하지만 내 문제는 이것이다 : 표 1모든 테이블의 행 수를 증가 전에 표시합니다.

nr_crt |item 
    1 |item 1 
    2 |item 2 
    3 |item 3 

과 표 2

nr_crt |item 
    1 |song 1 
    2 |song 2 
    3 |song 3. 

이 같은 결과를 표시하는 방법이 있나요?

Nr. | Product 
    1 |item 1 
    2 |item 2 
    3 |item 3 
    4 |song 1 
    5 |song 2 
    6 |song 3 

나는 내가로부터 SELECT COUNT (*) 같은 것을 사용한다는 것을 알고 ..... 감사합니다.

+2

당신이 노래에 무슨 상관하지 않는 경우'Nr.', 왜 단지 PHP의 증가 숫자를 생성하지? 그것은 사용자 정의 변수와 MySQL에서 할 수 있지만, 그 요점을 볼 수 없습니다. – Wrikken

+0

나는 테이블에 가입하고 싶지 않다. 나는 그들을 별도로 유지하고 싶다. – unknown

+0

대신 테이블을 조합한다. – brbcoding

답변

1

이 그것을 수행해야합니다

SELECT @row := @row + 1 AS nr, 
     a.val   AS product 
FROM (SELECT item AS val 
     FROM table1 
     UNION ALL 
     SELECT item 
     FROM table2) a 
     JOIN (SELECT @row := 0) r 

결과

| NR | PRODUCT | 
---------------- 
| 1 | item 1 | 
| 2 | item 2 | 
| 3 | item 3 | 
| 4 | song 1 | 
| 5 | song 2 | 
| 6 | song 3 |

See the demo

0
SELECT @rnk := @rnk + 1 nr_crt, 
     a.item 
FROM 
     (
      SELECT nr_crt, item, 1 ordr FROM TableA 
      UNION ALL 
      SELECT nr_crt, item, 2 ordr FROM TableA 
     ) a, (SELECT @rnk := 0) b 
ORDER BY a.ordr ASC, a.nr_crt ASC 

OUTPUT

╔════════╦════════╗ 
║ NR_CRT ║ ITEM ║ 
╠════════╬════════╣ 
║  1 ║ item 1 ║ 
║  2 ║ item 2 ║ 
║  3 ║ item 3 ║ 
║  4 ║ item 1 ║ 
║  5 ║ item 2 ║ 
║  6 ║ item 3 ║ 
╚════════╩════════╝ 
관련 문제