実際には危険なほどのSQLしか知りません(通常はバックエンドは動作しません)が、次のビューを作成することはできません;)結果セットは、(すべての列の1xNフラットではなく)複数のテーブルから列エイリアスとして割り当てられた行を持つデータセットです。適切な関連テーブルの行IDに関連付けられた外部キーに基づいて、メインテーブルを見るときに多対1の関係があります。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'について不満を持っていると仮定しています。ここで、テーブルを取得しようとしています。*エイリアスとして割り当てられています。適切な方向への助けに感謝します。もし私がしなければならなかった、私はすべての列を明示的に述べることができると思うが、それはkludgeのように感じる。
お返事ありがとうございます。このビューでは、問題の特定の行に属する「メタデータ」のいくつかのFKがあります。最初の素朴な考えは、これを1つの選択にスイープすることができるということでした。私は、中間層が使用されている十分な大きさのプロジェクトに慣れています。私は、すべての仕事をしているそのチームからだまされていると思います;)私はまだプロジェクトのこの部分には行きませんでしたが、これは、私がやっていることの残りの部分のようなシーケンスされたクエリであることになります。 –