2015-01-10 2 views
-1

두 개의 Cname 및 Ccolor 열이있는 "Car"테이블이 있습니다. 이 테이블이나 일반적인 색상의 자동차 목록을 포함하는 새로운 테이블을 원하고 동적으로이 바인딩을 사용하고 싶습니다.SQL에서 다른 테이블의 데이터를 사용하여 동적 테이블을 만드는 방법

내가 무엇을 가지고 : 내가 달성하기 위해 노력하고있어
+---------+--------+ 
| Cname | Ccolor | 
+---------+--------+ 
| Ferrari | Red | 
| Maruti | Red | 
| Phantom | Red | 
| Duster | Black | 
| Beetle | Black | 
| Hummer | White | 
| Skoda | White | 
| Pajero | White | 
+---------+--------+ 
: 어쨌든이 결과를 연결하는 것이 좋습니다 이유
+---------+--------+-----------------+ 
| Cname | Ccolor | CommonColorCar | 
+---------+--------+-----------------+ 
| Ferrari | Red | Maruti Phantom | 
| Maruti | Red | Ferrari Pahntom | 
| Phantom | Red | Ferrari Maruti | 
| Duster | Black | Beetle   | 
| Beetle | Black | Duster   | 
| Hummer | White | Skoda Pajero | 
| Skoda | White | Hummer Pajero | 
| Pajero | White | Hummer Skoda | 
+---------+--------+-----------------+ 
+3

안녕하세요! 지금까지 너 자신을 왜 시도 했니? 질문을 게시하기 전에 조사를 수행 했습니까? 혹시 문제가 있습니까? – Timusan

+0

예 혼자 시도했지만 결과를 얻을 수 없습니다. 나는 또한 SQL 전문가가 아니다. –

+1

직접 시도한 경우 SQL 문 (및/또는 다른 동반 코드)을 게시하고 발생한 오류 또는 누적 된 부분을 설명하십시오. 자신의 문제를 해결하기위한 노력을 보여줌으로써 SO 커뮤니티가 올바른 방향으로 나아갈 수 있도록 동기를 부여합니다. – Timusan

답변

0

내가 생각할 수 없다,하지만 ...

SELECT x.* 
    , GROUP_CONCAT(y.name) 
    FROM my_table x 
    LEFT 
    JOIN my_table y 
    ON y.color = x.color 
    AND y.name <> x.name 
GROUP 
    BY x.name 
    , x.color; 
+0

모하마드, 나는 Strawberry와 완전히 동의합니다 :이 데이터는 주어진 시간에 계산할 수 있습니다 (정보가 필요할 때). 게다가 데이터베이스의 값이 변경되면'CommonColorCar' 열이 동기화되지 않으므로이 열을 제 상태로 유지하기 위해 데이터베이스 내의 일부 트리거를 미리 알아야합니다 (더 많은 이유 *이 열을 포함하지 않음). 첫 번째 장소). 딸기 ... OP 질문에 대한 모든 의견을 삭제 했습니까? – Timusan

+0

@ 스트로 베리 :

+0

"not equal"... – Strawberry

관련 문제