Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Ktoré tabuľky a polia by ste mali prístup, aby ste určili, ktoré tituly kníh zakúpil zákazníkom, keď sa objednávka odoslala?

Ak chcete zistiť, ktoré tituly kníh kúpil zákazník pri odoslaní objednávky, musíte mať prístup k najmenej troch tabuľkách a pravdepodobne viac v závislosti od dizajnu vašej databázy. Tu je porucha:

Tabuľky:

1. Zákazníci: Táto tabuľka obsahuje informácie o vašich zákazníkoch. Relevantné polia môžu obsahovať:

* `customer_id` (primárny kľúč)

* `customer_name` (alebo podobné identifikačné pole)

2. objednávky: Táto tabuľka sleduje objednávky zákazníkov. Relevantné polia zahŕňajú:

* `Order_id` (primárny kľúč)

* `customer_id` (cudzí kľúče odkazujúc zákazníkov)

* `Order_date`

* `SHIPPE_DATE` (označuje, kedy sa objednávka odoslala)

3. Order_items (alebo podobné): V tejto tabuľke sú uvedené položky uvedené v každej objednávke. Relevantné polia zahŕňajú:

* `Order_item_id` (primárny kľúč)

* `Order_id` (objednávky cudzieho kľúča)

* `Book_id` (Knihy o odkazovaní na zahraničné kľúče - pozri nižšie)

* `Množstvo" (počet kópií knihy)

4. Knihy: Táto tabuľka obsahuje informácie o samotných knihách. Relevantné polia sú:

* `Book_id` (primárny kľúč)

* `Book_title` (názov knihy)

Logika dotazov:

Museli by ste sa pripojiť k týmto tabuľkám pomocou zahraničných kľúčov na prepojenie objednávok so zákazníkmi a objednanie položiek do kníh. Pole `Shipping_Date` v tabuľke` Objednávky je rozhodujúce pre filtrovanie objednávok, ktoré už boli odoslané.

Dotaz SQL môže vyzerať niečo také (presná syntax sa môže mierne líšiť v závislosti od vášho konkrétneho databázového systému):

`` sql

Vybraný

b.book_title

Od

Zákazníci c

Pripojiť sa

Objednávky O na C.Customer_id =O.customer_id

Pripojiť sa

Order_items oi na O.order_id =oi.order_id

Pripojiť sa

Knihy B na oi.book_id =b.book_id

Kdekoľvek

O.shipping_date nie je null --ensúry, ktoré objednávka odoslala

A C.Customer_id =[customer_id] - nahradiť [customer_id] konkrétnym ID zákazníka

;

`` `

Tento dotaz by vrátil zoznam `` Book_title, ktorý zakúpil konkrétny zákazník, ktorého objednávka má `shipping_date`. Museli by ste nahradiť `[customer_id]` za skutočnú `customer_id", o ktoré vás zaujíma. Ak chcete všetkých zákazníkov, vynechajte „kde„ podmienku ID zákazníka spoločnosti Clause. Možno budete chcieť pridať „Group od B.Book_title`, aby ste sa vyhli duplicitným titulom kníh, ak zákazník kúpil viac kópií.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené