나는 3 개의 테이블 공항, 위치 및 위치 힌트를 가지고 있습니다. 위치 테이블을 업데이트 한 후 더 이상 위치 정보의 n_airports 열에없는 공항 이름을 삭제해야합니다. 여기서 n_airpots 열은 혼수 상태로 표시된 공항 코드 모음입니다. Lik % code %로 선택하여 하나씩 삭제하려고했지만 유용하지는 않습니다.
이 한 Statment는다른 테이블에 코드가없는 행을 삭제하십시오.
DELETE
FROM location_hint
WHERE type = 2 AND name NOT IN
(
SELECT a.name
FROM airports a
WHERE a.code IN
(
SELECT n_airports
FROM location
)
)
공항 테이블을 모두에게
CREATE TABLE airports (
_id INTEGER,
code TEXT,
name TEXT,
PRIMARY KEY(_id)
)
CREATE TABLE `location` (
`_id` integer,
`country` text,
`city` text,
`n_airports` text,
PRIMARY KEY(_id)
)
을 삭제하는 것
CREATE TABLE "location_hint" (
`_id` INTEGER PRIMARY KEY AUTOINCREMENT,
`name` TEXT NOT NULL,
`type` INTEGER NOT NULL,
`country` TEXT,
`city` TEXT
)
당신이 당신의 데이터 모델을 리모델링의 concidered 적이 테스트 해는? 텍스트 필드에서 쉼표로 구분 된 값으로 관련 레코드를 갖는 것은 관계형 데이터베이스를 갖는 목적을 상쇄합니다. – Morten
@Morten 유감스럽게도 프로젝트의 유산 부분과 너무 많은 부분이 묶여있다 – Yarh