För att avgöra vilka boktitlar som har köpts av en kund när beställningen skickas, måste du komma åt minst tre tabeller, och troligen mer beroende på din databasschema design. Här är en uppdelning:
tabeller:
1. Kunder: Den här tabellen innehåller information om dina kunder. Relevanta fält kan inkludera:
* `Customer_id` (primärnyckel)
* `Customer_name` (eller liknande identifierande fält)
2. order: Denna tabell spårar kundorder. Relevanta fält inkluderar:
* `Order_id` (Primärnyckel)
* `Customer_id` (utländska nyckelreferenskunder)
* `Order_date`
* `Shipping_Date` (indikerar när beställningen skickas)
3. order_items (eller liknande): Denna tabell beskriver de objekt som ingår i varje ordning. Relevanta fält inkluderar:
* `Order_item_id` (Primärnyckel)
* `Order_id` (utländska nyckelreferensorder)
* `BOOK_ID` (utländska nyckelreferensböcker - se nedan)
* `Kvantitet '(antal kopior av boken)
4. böcker: Denna tabell innehåller information om själva böckerna. Relevanta fält är:
* `BOOK_ID` (Primärnyckel)
* `Book_title` (bokens titel)
Frågelogik:
Du skulle behöva gå med i dessa tabeller med utländska nycklar för att länka beställningar till kunder och beställa artiklar till böcker. Fältet `sippe_date 'i tabellen' Order 'är avgörande för att filtrera order som redan har skickats.
En SQL -fråga kan se ut så här (den exakta syntaxen kan variera något beroende på ditt specifika databassystem):
`` `SQL
VÄLJA
B.Book_Title
FRÅN
Kunder C
ANSLUTA SIG TILL
Beställningar o på c.customer_id =o.customer_id
ANSLUTA SIG TILL
Order_items oi på o.order_id =oi.order_id
ANSLUTA SIG TILL
Böcker B på oi.book_id =B.Book_id
DÄR
o.shipping_date är inte noll -betyg beställningen har skickats
Och c.customer_id =[customer_id] - ersätt [customer_id] med det specifika kund -ID
;
`` `
Den här frågan skulle returnera en lista över `book_title`s köpta av en specifik kund vars beställning har en` sipping_date '. Du skulle behöva ersätta `[customer_id]` med den faktiska `customer_id 'du är intresserad av. Om du vill ha alla kunder, utelämna" Where "-klausiets kund -ID -tillstånd. Du kanske också vill lägga till "Group av B.Book_Title" för att undvika duplicerade boktitlar om en kund köpte flera kopior.