JOINができました。
見よう見まねでしたが、意外に簡単にできました。
これで実際に使われている有効なフォームブロックの最新のリストが得られたようです。
"SELECT * FROM CollectionVersionBlocks INNER JOIN CollectionVersions ON CollectionVersionBlocks.cID=CollectionVersions.cID AND CollectionVersionBlocks.cvID=CollectionVersions.cvID INNER JOIN btForm ON CollectionVersionBlocks.bID=btForm.bID WHERE CollectionVersions.cvIsApproved=1";
Re: 使っているブロックと不要になったブロックの判定はできるのか
2012年5月27日 at 17:05
CollectionVersions テーブルの cvIsApproved が現在承認されたバージョン
cvIsApprovedが 1 のものの CollectionVersionBlocks を 取り出し、
CollectionVersionBlocks の bID と 合致しない Blocks を 取り出す。
というSQLを書けばチェックできると思います。
left join など使わないといけない???
ただ、不要ということですが、ページをバージョン管理しているため、前のバージョンのブロックも保存されています。削除や変更などはされないほうがいいと思います。
また、不要なバージョンを削除すればブロックも削除されます。
Your post has been saved and will be published after approval by the forum moderator.
tomoac
Re: 使っているブロックと不要になったブロックの判定はできるのか
確認できました。
利用中の最新のフォームブロックを特定したかったんです。
FORMブロックのテーブルを絡めると3つのテーブルのJOINとなります。
勉強がてらSQL文を作ってみます。