두 테이블이 있는데 하나의 테이블에는 쉼표로 구분 된 다른 테이블에 포함 된 ID 목록과 함께 각 행에 정보가 있습니다. 지금 나는 표 A에서 쉼표로 구분 된 ID를 사용하여 데이터를 가져오고 있으며 표 B의 모든 데이터 (추가 정보가 들어있는 표)도 가져 오려고합니다. 가능한 가장 효율적인 SQL 방법으로 이것을하고 싶습니다.두 번째 테이블에 조인/서브 쿼리하는 방법
필드의 ID를 기반으로 표 A를 표 A와 결합하는 것에 대해 생각해 보았지만 가능한지 확실하지 않았습니다. 또 다른 IN 문을 기반으로 표 A의 데이터를 얻는 것이 중요하므로 궁극적 인 목표는 표 A의 행에서 필드에있는 ID에 따라 표 A의 행에 표 B의 모든 행을 첨부하는 것입니다 (행별로 행)
사람이이 모든 것을 따라 내가 샘플 쿼리 감사하겠습니다하려고 노력하고 알고 있던 경우 : 당신이 더 clarifaction이 필요하면 내가 그들을 제공 드리겠습니다 D
을 .
감사
방법 표 A는 설정은 지금 :
`table_b_id` VARCHAR (6) NOT NULL,
`name` VARCHAR (128) NOT NULL,
-- More data that is not relevant to the question
이 또한 내가 원하는
결국 카산드라와 같은 NOSQL 시스템으로 전환 :`table_a_id` VARCHAR (6) NOT NULL,
`table_b_ids` TEXT NOT NULL, -- This is a comma seperated list at the moment
-- More data here that is irrelevant to this question but i am grabbing
테이블 B는 다음과 같이 설정되어 , 내가 간략하게 읽었던 것에서는 NOSQL에 조인과 같은 것이 없다는 것을 이해하고 있는가? 보너스 도움은 이러한 테이블을 설정하는 데 도움이 될 것이므로 적은 전환과 어려움으로 변환 할 수 있습니다.
테이블에 쉼표로 구분 된 ID 목록이 저장되어 있습니까? 그것은 당신의 첫번째 실수입니다. 데이터를 표준화하면 이러한 유형의 쿼리 문제를 훨씬 쉽게 해결할 수 있습니다. http://en.wikipedia.org/wiki/Database_normalization – Madbreaks
테이블 정의와 초기 쿼리가 좋을 것입니다. – favoretti
http://dev.mysql.com/doc/refman/5.1/en/join.html - JOIN에 대해 알아야합니다. – Crontab