「データベース」タグアーカイブ

見るための データベース・SQL 1つのテーブルからデータを取り出す


エンジニアの方にとってみれば、SQL は使えてあたりまえかもしれませんが、営業や管理部の人からすれば魅惑の魔法といわれることもあります。 しかし非エンジニアの方でも SQL が使えた方がいいですし、 そのほうがエンジニアの作業も楽になります。

そこで今回は、 非エンジニアの方が SQL を使えるようにするための準備作業について解説します。

続きを読む 見るための データベース・SQL 1つのテーブルからデータを取り出す

pg_dump: テーブル構造のみ・データのみ出力


pg_dump でエクスポートする場合、 -s , -a のオプションをつけることで挙動が多少変わる。 -s, -a オプションは次のような場合に使われる。

続きを読む pg_dump: テーブル構造のみ・データのみ出力

ORA-01799: 列は副問合せに対して外部結合されません。


今日もエラーが出ました。

ORA-01799: 列は副問合せに対して外部結合されません。

下のように解決しました。 (使っているデータベースは Oracle 10g11g のどっちかでした。)

事例 1

エラーが出たのは次の結合条件。

LEFT JOIN で結合するテーブルの結合条件に副問合せをつかうと駄目みたいです。

期待する結果

上のコードでやりたいのは、 JNYUKA.BUNNO がメインテーブルの値(MAIN.BUNNO)以下になっているもので、最大のものをとることです。下のように。

MAIN BUNNO JNYUKA BUNNO FNY BUNNO
1 1 1
2 2 2
3 2

上のコードではエラーがでます。 カーソルを使っていったんテーブルに入れるのも面倒です。そこで・・・

このようにすればエラーはでません。 BUNNOがメインテーブル以下のものをすべて結合した後で、最大のもののみに絞り込むイメージ。

事例 2

別の例があったので・・・

Oracleで子テーブルの最新を外部結合できない!? で次のコードを見つけました。

この場合だと

とすればいいことになります。

ON ではなくて JOIN の中に条件を入れてしまう方法でも解決できます。