Google 검색 기술이 저를 실패 시켰으며 어떤 방법 으로든 데이터베이스 전문가가 아닙니다! 사탕 테이블에부울 논리를 사용하여 데이터베이스보기 만들기
database schema http://bit.ly/adeUVL
properties_id가 EXPENSIVE_PROPERTIES 테이블의 ID에 대한 외래 키 :이처럼 보이는 아주 간단한 데이터베이스 스키마를 가지고있다. properties_id는 캔디가 비싼 경우에만 으로 설정됩니다. 비싼 경우, 다음 EXPENSIVE_PROPERTIES 테이블의 해당 값이 채워 얻을 것이다
나는 사탕의 목록을 할 때, 나는 기본적으로이 작업을 수행 할 :.
- 요청을 모두 이름과 색상 같은 사탕 테이블의 속성,
- properties_id 값이, 나는 두 개의 쿼리를 수행했다,하지만 난 할 수 있어야하기 때문에이 바보 과거
null가 아닌 경우 선택적으로 고가의 속성을 가져 집계보기를 만들려면 모든 등록 정보를 하나의 테이블로 통합하고 EXPENSIVE_PROPERTIES 테이블에 해당 ID가없는 경우 다른 필드를 비워 둡니다.
누구나 SQLite에서이 뷰를 만드는 방법을 알려 줄 수 있습니까? 나는 그것이 가능하다고 생각하지만, from the docs 그것을 알아낼 수 :
IF NOT 요소가 특정 필드 값의 존재와 함께 할 아무것도하지 않는 것 존재한다. 내가 이상한 찾기 질문에 대한 답변이되었습니다
UPDATE,하지만 한 가지 경우에 I가 중복 된 항목을 볼 수 있다는 것입니다. 저는 SQLite Administrator를 사용하고 CREATE VIEW 문을 실행하고 결과 탭을 볼 때 고유 항목을 얻습니다. 방금 SELECT 문을 수행하면 중복 행이 생깁니다. 보기를 만든 다음 SELECT * FROM myview를 수행하면; 나 또한 중복 행을 참조하십시오. 누구든지 이것에 대해 밝힐 수 있습니까? 새로운 질문을 만들어야합니까?
업데이트 # 2
신경 쓰지 마, 내 실수를 발견 - 나는 후 중복을 야기하는 두 테이블을했다.
확인 candy.id = expensive_properties.id에 expensive_properties 가입 할 수 있습니다. 감사! 나는 전에 외부 조인을 사용하지 않았다. – Dave
그게 효과가! 고맙습니다. – Dave
한 번 더 질문하기 -이 방법이 효과가 있지만 왜 SELECT 문을 사용하여 (보기를 만들지 않고) 결과에 중복 행이 생깁니 까? – Dave