데이터베이스를 만들 때 Postgres 9.3.2
을 사용하고 있습니다.Postgres SELECT * FROM 테이블에서 배열에 요소가있는 경우
예 : 내 표에 다음과 같은 행이 있습니다.
{
firstName : "First name"
lastName : "Last name"
emails : ["[email protected]", "[email protected]", "[email protected]]
}
PS : 이름, 성 및 이메일 내 DB 열이며 연관된 값이 특정 행의 그 컬럼에 대한 값이다.
내가 "[email protected]"전자 메일을 쿼리하면 그 결과가 아무 것도 아니지만 "[email protected]"에 대한 쿼리가 위 결과가되도록 DB를 쿼리 할 수 있기를 원합니다. 행 항목.
나는
"Select * from contactTable where emails="[email protected]""
이 작동 쿼리를 같아요. 대신 나는 같은 것을하고 싶다
"Select * from contactTable where emails contains "[email protected]""
이것을하는 방법에 대한 아이디어?
전자 메일과 전화 번호가 개별 필드가되도록 DB를 정규화 할 수 있습니까? 훨씬 간단합니다 ... – n8wrl
@ n8wrl 저는 이것이 올바른 방법이라고 생각합니다. 그러나 많은 이유들로 인해 이것을 할 수없는 경우가 많습니다 (비 기술적 인 이유들). =) –
@ AndréFigueiredo : 이해합니다. 이것은 XML을 blob로 저장 한 과거 프로젝트의 나쁜 기억을 되살려줍니다. 검색이 불가능합니다.정상화가 답이었습니다. – n8wrl