1

ライブラリのグループ用のデータベースを作成するためのデータベースクラス用のプロジェクトがあります。MySQL5.2を使用しています。すべての本のコピーを保持する2つのライブラリを見つけるためにクエリを作成する必要があります。これらはcreatetableステートメントです

Create table books(  
    booknum VARCHAR (10),  
    btitle VARCHAR (),  
    bpages SMALLINT,  
    bcdate DATE,  
    primary key (booknum))  

Create table copies(  
    cnum VARCHAR(12),  
    cprice DECIMAL (7,2),  
   cpurdate DATE,  
    booknum VARCHAR(10),  
    primary key (cnum),  
    foreign key (booknum)  
    references book(booknum)) 

Create table library(  
    libnum  VARCHAR(7),  
    libname VARCHAR (40),  
    streetNumber    VARCHAR (8),  
    streetName VARCHAR (20),  
    city VARCHAR (20),  
    state VARCHAR (2),  
    zipcode VARCHAR (5),  
    primary key (libnum))  

私は私がのようなものが必要だと思います

SELECT libname FROM libraries WHERE  NOT EXISTS
(SELECT * FROM copies C, books B WHERE C.booknum=B.booknum)

しかし、それではありませんか?

4

2 に答える 2

0

データベースの設計が不完全です。コピーとライブラリ間の多対多の関係を定義する別のテーブルを追加する必要があります。

于 2013-03-14T16:59:50.247 に答える
0

ライブラリからコピーテーブルに外部キーを追加してテーブルを更新した後...

SELECT b.btitle, l.libname from copies c left join books b on b.booknum = c.booknum
    left join l.libnum = c.libnum
于 2013-03-14T22:15:54.060 に答える