Latar Belakang
Ini untuk pembuatan beberapa tampilan yang akan kami gunakan untuk pelaporan.
Saya memiliki tabel lokasi, bidang kunci adalah "lokasi" dan "induk" .
Struktur yang dibuat oleh kedua bidang ini, berdasarkan level, ada di sepanjang baris Nama Perusahaan -> Nama Kampus -> Nama Bangunan -> Nama Lantai -> Nama Kamar. Nama perusahaan tetap sama dan nama Kampus tetap sama dalam hal ini.
Struktur lokasi umumnya terlihat seperti ini:
+-----------+
| Org. Name |
+-----+-----+
|
+-----v-----+
+--------------------+|Campus Name|+---+--+-------------+
| +--+--------+ | |
| | | |
| | | |
+--+-----+ +------+-+ +--+----+ +---+---+
+--+| BLDG-01|+--+ | BLDG-02| |BLDG-03| |Grounds|
| +--------+ | +--------+ +-------+ +-------+
+-+------+ +-----+--+
|Floor-01| |Basement+-------+
+-+------+ +--------+ |
| |
| |
| +----------+ +-------+--+
+-+Room 1-001| |Room B-002|
+----------+ +----------+
Setiap lokasi terhubung kembali ke lokasi induknya, yang pada akhirnya adalah nama organisasi. Saat ini, hanya ada satu organisasi dan satu kampus.
Tujuan
- Saya ingin dapat menanyakan semua lokasi di bawah lokasi tertentu di tingkat "Bangunan". Ini agar saya dapat mengembalikan hal-hal seperti berapa banyak pekerjaan yang telah dilakukan untuk setiap lokasi dalam suatu bangunan.
- Saya ingin dapat menentukan sub-lokasi mana yang termasuk dalam bangunan mana . Pada dasarnya kebalikannya; Saya ingin pergi dari level mana saja di bawah level gedung dan menelusuri kembali ke apa bangunan itu.
- Saya ingin ini dilihat . Itu berarti, saya ingin memiliki tabel yang untuk setiap item di tingkat "bangunan", daftar bangunan di kolom sebelah kiri dan semua lokasi yang mungkin di bawah bangunan di kolom sebelah kanan. Dengan cara ini saya memiliki daftar yang dapat saya tanyakan kapan saja untuk menemukan lokasi mana yang merupakan bagian dari bangunan mana.
Mencoba dan Melakukannya dengan Benar
Saya telah berusaha melakukan ini melalui pandangan yang dibangun dengan mengerikan, pertanyaan UNION, dll - yang semuanya tampak seperti ide yang buruk. Saya tahu Oracle memiliki mekanisme untuk ini melalui "CONNECT BY"; Aku hanya tidak yakin bagaimana memanfaatkannya.
NULL
untuk mereka? Bagaimana Anda mengidentifikasi "tingkat bangunan"?