年、出席者数、およびlocation
テーブルから場所を検索する場所を含むevents
という表があります。ネストされたループで欠損値を挿入します
tbl_events
+-----+--------------+------+-----------+--------+
| ID | LOCATION_ID | YEAR | ATTENDEES | RATING |
+-----+--------------+------+-----------+--------+
| 1 | 1 | 2014 | 44 | 6 |
| 2 | 2 | 2014 | 36 | 7 |
| 3 | 4 | 2014 | 51 | 7 |
| ... | ... | ... | ... | ... |
| 74 | 2 | 2015 | 59 | 6.5 |
| 75 | 4 | 2015 | 31 | 5 |
| 76 | 12 | 2015 | 66 | 8 |
| ... | ... | ... | ... | ... |
| 133 | 5 | 2016 | 71 | 8.5 |
| 134 | 32 | 2016 | 68 | 6.5 |
| 135 | 14 | 2016 | 59 | 7.5 |
| ... | ... | ... | ... | ... |
+-----+--------------+------+-----------+--------+
tbl_locations
+-----+-------------+
| ID | Name |
+-----+-------------+
| 1 | Falmouth |
| 2 | Plymouth |
| 3 | Exeter |
| 4 | Bristol |
| 5 | Bournemouth |
| 6 | Southampton |
| ... | ... |
| 99 | Edinburgh |
| 100 | Glasgow |
+-----+-------------+
私は今年、場所、出席者及び評価の必要な情報が含まれ、起こった出来事の記録を持っています。
テーブル内のすべての年のlocations
テーブルのすべての場所を含めるには、欠損値の行を追加したいと考えています。
私は(毎年)テーブル内をループし、location
テーブル内のすべての場所をループするループをネストして、events
テーブルに直接挿入するか、または私はその後、イベントテーブルに挿入することができます一時テーブルに。
私はイベントと場所のテーブルを年に合わせて結合し、一時テーブルに挿入することを考えました。次に、イベント表に挿入されているすべての行をイベント表に挿入します。
その他のアイデアは大歓迎ですが、MySQLでのみこれを行うことに限定されています。
理想的には、手順として保存して後で再実行することができます。
を**私は欠損値の行を追加したい:あなたは
null
S(または他のいくつかのカスタム値)を持つ行を取得するので、それらは、ちょうど左のイベントが不足しているスロットに実際のイベントにそれらを結合しますテーブルのすべての年のロケーションテーブルのすべての場所を含めるようにしてください。**この文でより明確にすることができますか? –毎年すべてのイベントが訪れるわけではありません。しかし、私はまだテーブルの行が好きなので、ID、location_id、年、そして出席者と評価のためのNULLを持っています。 – n8udd