그래서 나는 충분히 위험한 SQL을 알기 때문에 (보통 백엔드는 작동하지 않지만) 다음 뷰를 생성 할 수 없습니다 성공적으로;) 필자가 취한 결과 세트는 (모든 컬럼의 1xN 플랫 대신) 여러 테이블에서 컬럼 별명으로 지정된 행을 갖는 데이터 세트입니다. 해당 테이블의 행 ID와 연관된 외래 키를 기반으로 메인 테이블을 볼 때 다 대일 관계가 있습니다.2x2 (또는 NxN) 결과 행렬을 반환하는 뷰를 만드는 방법
dataset.transaction_row[n]: col1, col2, col3, coln... (columns from the transaction table)
dataset.category_row[n]: col1, co2, col3, coln... (columns from the category table)
등등 ... 나는 다음과 같은 오류 얻을
:
Query Error: near "AS": syntax error Unable to execute statement
을
은 이상적으로는 대가로 다음과 같습니다 데이터 세트를하고 싶습니다 올린 사람 :
CREATE VIEW view_unreconciled_transactions
AS SELECT account_transaction.* AS transaction_row,
category.* AS category_row,
memorized.name_rule_replace OR account_transaction.name AS payee
FROM account_transaction
LEFT JOIN memorized ON account_transaction.memorized_key = memorized.id
LEFT JOIN category ON account_transaction.category_key = category.id
WHERE status != 2
ORDER BY account_transaction.dt_posted DESC
결과 열 선택기가 표현식 (sqlite의 구문 다이어그램 참조)을 포함하여 반복 가능하기 때문에 충분히 쉬운 것처럼 보입니다. 오류에 관해서는, 테이블을 얻으려는 2 차 'AS'에 대해 불평하고 있다고 가정합니다. * 별칭으로 할당되었습니다. 올바른 방향으로 도움을 주시면 감사하겠습니다. 해야만한다면, 모든 컬럼을 명시 적으로 표시 할 수 있다고 생각하지만, 그것은 마치 진흙탕처럼 느껴집니다.
응답 해 주셔서 감사합니다. 이 견해로는 문제의 특정 행에 속하는 "메타 데이터"에 대한 몇 가지 FK가 있으며, 초기 순진한 생각은 이것을 단일 선택으로 스윕 할 수 있다는 것입니다. 나는 중간 계층을 사용하는 큰 프로젝트에 익숙합니다. 모든 작업을 수행하는 팀에서 버릇이 있다고 생각합니다.) 아직 프로젝트의이 부분에 익숙하지 않았지만 생각하고 있습니다. 이것은 내가하는 일의 나머지 부분처럼 연속 된 질의가 될 것입니다. –