3つのテーブルで外部結合
3つのテーブルを外部結合する
■何ができる
データの整合性?
JOINを使う
1.基本構文
今回は、これを使ってます。
テーブル同士の条件に一致するレコード(データ行)をのみを抽出します。
※inner joinとjoinは同じ動きをします。
■基本構文
UPDATE orders ON orders_t.customer_id = customers_t.customer_id
SET orders_t.customer_id = 3, customers_t.name = makio
WHERE orders_t.id = 1; |
こんな感じで、onの部分で、テーブル結合ができる。
UPDATEやSELECTで利用ができます。
※補足
テーブルの名前は_tとつけた方が分かりやすい
改行すると、何をしているのか?が良く分かる
■ポイント
SELECT文で書いてから、クエリを投げてみて、UPDATE文書くと成功しやすくなります。
2.CIで書いてみよう
コードイグナイター3.2で書いていきます。
■モデルに書く
public function get_school_data(){ JOIN school_name_t ;"); return $query->result_array(); |
データの取得はモデルに書いておく。
① 関数名をつける get_company_school_dataなど
② $query=$this->db->query()でシンプルなクエリを作る
③ SELECTの後には、欲しいテーブル+カラムを並べる
④ return $query->result_array();
これでモデルが完成。
■補足
今回は、3つのテーブルを連結させています。
■USINGについて
USING (room_id)を使うと楽です。
今回は、後で勉強できるように、ON company_name_t.company_id=company_t.company_idと、細かく書いてあります。
3.VIEWで引き取る
先ほど作った関数を受け取ります。
<?php $company_name=$this->zyuku_model->get_school_data(); ?> <table class="table3"> |
①<?php $company_name=$this->zyuku_model->get_school_data(); ?>
作った関数を呼び出します。 配列で受け取っています。
②<?php foreach($company_name as $company_names): ?>
ここで配列の中身を取り出します。
この書き方はPHPのお決まりですね。
③<?php echo $company_names['company_id']; ?>
ここで、配列のデータを個別に取得
④<?php endforeach; ?>
ここでループさせたい場所を閉めます。
■ポイント
<?php $company_name=$this->zyuku_model->get_school_data(); ?> <?php endforeach; ?> ループの指定場所が大事です。 |
4.まとめ
モデルの書き方、取り出し方は忘れます^^;
メモしておき、早見表を作っておくと良いです。SQLのupsert処理は編集画面を作るときに、必須の知識になるので、コツコツ勉強しておきましょう。
mYSQLについて知ろう
外部結合、外部キー制約のあるテーブルへのupdateなどにはまりやすいです。
■最新
外部結合
結合したテーブルへのupdate
結合したテーブルへのinsert
■ 基本編 ■
■基本操作■
データを追加する(INSERT)
更新する (UPDATE)
削除について(DALETE)
CURDについて
■基本の操作02■
NOT NULL設定
ビューとは何か?
アップデートについて
■ 設計について■
正規化をしよう
UMLとは何か?
ER図を覚えよう
■アンチパターン
論理削除
ジェイウォーク(交差テーブルを作らない)
1文字エイリアス
全部小文字
複数列属性(マルチカラムアトリビュート)
パスワード
フラグの闇
おすすめの本
MySQLを勉強する時に、おすすめの本です。
基本的な事が学べますので、ぜひ参考にしてみてください。
一緒に学習しましょう!!学習仲間を募集しています。
この記事を読んだ人は、こんな記事も読んでいます
SEO対策の基本 外部要因とは?
SEO対策の基本的である、外部要因とは何か?
SEO対策をするなら絶対に知っておきたい、基本知識です。
売れるサイトを作るのに知って起きたい知識
サーチエンジンマーケティングという言葉をご存知でしょうか?
ホームページで商品やサービスを売る時に知っておきたいマーケティング
についてご紹介いたします。
SEO対策をする5つのメリットとは?
なぜ上位表示させることが大事なのか?なぜSEO対策をする必要があるのか
についてご紹介させていただきます。
SEO対策の内部要因とは?
上位表示させるためには、内部要因について知っておくことも大事です。
キーワードを上位表示させるために必要なのは、ソースコードを最適化することです
内部要因の対策について知りたい方はこちらへ
キーワード対策をする前に
そのキーワード対策。ちょっと待ってください。
そのまま対策をすると、必ずお金を損してしまいます。個人事業主や中小企業は
そんな大きなキーワードで対策をしてはいけません。
広告費用が高くなる本当の理由とは?
売れないサイトに集めていませんか?広告費用がかかるわりには
お問い合わせが少ない・・・と感じる方は多いはずです。
購入率の悪いサイトに集客をしている可能性があります。