前の質問へのフォローアップでは、3つのテーブルA、B、Cがあるとしましょう。テーブルAは、テーブルBの外部キーとして使用されるIDを持っていますとC(各属性は属性として値を持ちます)。表A中の各IDのために、私は次のように行うことができ、テーブルBとCの間の値の差を取得したい:複数の計算値に基づいたMySQLのビュー
CREATE VIEW T1 AS
SELECT B.A_ID AS ID, SUM(B.VALUE) AS VAL
FROM B
GROUP BY B.A_ID;
CREATE VIEW T2 AS
SELECT C.A_ID AS ID, SUM(C.VALUE) AS VAL
FROM C
GROUP BY C.A_ID;
SELECT T1.ID, T1.VAL, T2.VAL FROM T1, T2 WHERE T1.ID = T2.ID;
問題があれば、テーブルBは、特定のIDのためにいくつかの値を有するものです、テーブルCはそうでない、またはその逆です。その場合、私のselect文はその行を返しません。
CREATE VIEW T3 AS
SELECT B.A_ID AS ID, SUM(B.VALUE) AS VAL1, SUB(C.VAL) AS VAL2
FROM B, C
WHERE B.A_ID = C.A_ID
GROUP BY B.A_ID;
このようなビューの作成スクリプトの例をいただければ幸いです:私は基本的に以下のようになります。これは、単一のビューを作成するための方法はあります。
私は本当にあなたのために働いていたソリューションに興味があります。 –
私はおそらくあなたが提案したものを使って試してみるでしょう。私は、私のスクリプトを準備しているが、解決しているデータベースへの私のユーザーアクセス権を持つ私のホスティングプロバイダに問題があるので、まだそれをテストすることができませんでした。あなたのソリューションがうまくいけば、私は正しい答えを受け入れます。 – Elie
私のホスティングプロバイダはMySQL 5.0のみをサポートしており、ビューはMySQL 5.0.1で導入されていることが判明したので、データを自動的に照合するこのオプションは無効です。 – Elie