다음에서 선택한와 나는 BLOB와 회원 테이블이 다른 회원의 ID의 쉼표로 구분 된 목록을 포함하는 '연락처'필드 :MySQL은 내가 MySQL을 사용할 쉼표로 구분 된 필드
TABLE members:
id_member = 1
firstname = 'John'
contacts (BLOB) = '4,6,7,2,5'
나는 모든을 검색 할을 하나의 검색어로 개인의 '연락처'목록에있는 이름. 나는 다음과 같은 시도 :
이SELECT firstname from members WHERE id_member IN (SELECT contacts FROM members WHERE id_member = 1);
그것은 단지 하나 개의 행을 반환하지만 내가하려고하면
SELECT firstname from members WHERE id_member IN (4,6,7,2,5);
이 목록에서 모든 첫 번째 이름을 반환합니다. 이것을 달성하기 위해 두 가지 쿼리를 사용할 수는 있지만 간단하고 우아한 쿼리 하나를 사용할 수있는 방법이 있는지 다시 한 번 확인해야한다고 생각했습니다.
도움을 주셔서 감사합니다. Jul
문자열 당신의 ID가 숫자와 방울? – Jrod
여기 해결책은'id_member'와'id_contact'라는 두 개의 열이있는 연락처 테이블을 사용하여 데이터베이스를 적절하게 표준화하는 것입니다.이 테이블에는'id_member' 당 여러 행이 있습니다. –
예, Jrod, 제 ID는 INT이고 blob은 문자열입니다. 아이디어 마이클을 주셔서 감사합니다. 그러나 저는 Tadman의 대답에 대한 제 의견에 표현한이 옵션에 대한 예비가 있습니다. –