2016-03-28 33 views
3

私は割り当てに取り組んでおり、JOIN ... ONステートメントを使用していますが、私が間違っていることはわかりませんが、SQLコードをデータベースに実行すると何も表示されません。MySQL:Join Statements:なぜこれは機能しませんか?

EDIT: エラーを受けないでください。コードには瑕疵がなく実行されます。

誰かが間違っていることを知っていますか?この状況に対してINNER JOINが正しい種類の参加をしていますか?

SELECT orders.order_ID as 'Order ID' 
     , orders.order_date as 'Order Date' 
    , CONCAT(customers.customer_first_name, ' ', customers.customer_last_name) as 'Customer' 
    , customers.customer_city as 'City' 
FROM Orders 
JOIN Customers 
    ON orders.customer_ID = customers.customer_ID 
WHERE customer.customer_state = 'OH' 
ORDER BY orders 

すべてのSQLを(...文は、コードの末尾に見つけることができましょう)...

/* Sierra McGivney - Lab5 - Additions */ 

/*Drop Tables*/ 
DROP TABLE IF EXISTS customers; 
DROP TABLE IF EXISTS orders; 
DROP TABLE IF EXISTS order_details; 
DROP TABLE IF EXISTS items; 
DROP TABLE IF EXISTS artists; 
DROP TABLE IF EXISTS employees; 

/*create tables*/ 
CREATE TABLE customers 
(
customer_id  INT, 
customer_first_name VARCHAR(20), 
customer_last_name VARCHAR(20) NOT NULL, 
customer_address VARCHAR(50) NOT NULL, 
customer_city  VARCHAR(20) NOT NULL, 
customer_state CHAR(2)  NOT NULL, 
customer_zip  CHAR(5) NOT NULL, 
customer_phone CHAR(10) NOT NULL, 
customer_fax  CHAR(10), 
CONSTRAINT customers_pk 
PRIMARY KEY (customer_id) 
); 

CREATE TABLE artists 
(
artist_id  INT  NOT NULL, 
artist_name VARCHAR(30), 
CONSTRAINT artist_pk 
PRIMARY KEY (artist_id) 
); 

CREATE TABLE items 
(
item_id INT  NOT NULL, 
title  VARCHAR(50) NOT NULL, 
artist_id INT NOT NULL, 
unit_price DECIMAL(9,2) NOT NULL, 
CONSTRAINT items_pk 
    PRIMARY KEY (item_id), 
CONSTRAINT items_fk_artists 
    FOREIGN KEY (artist_id) REFERENCES artists (artist_id) 
); 

CREATE TABLE employees 
(
employee_id  INT  NOT NULL, 
last_name  VARCHAR(20) NOT NULL, 
first_name  VARCHAR(20) NOT NULL, 
    manager_id  INT, 
CONSTRAINT employees_pk 
PRIMARY KEY (employee_id), 
CONSTRAINT emp_fk_mgr FOREIGN KEY (manager_id) REFERENCES employees(employee_id) 
); 

CREATE TABLE orders 
(
order_id  INT  NOT NULL, 
customer_id INT  NOT NULL, 
order_date DATE NOT NULL, 
shipped_date DATE, 
employee_id INT, 
CONSTRAINT orders_pk 
    PRIMARY KEY (order_id), 
CONSTRAINT orders_fk_customers 
    FOREIGN KEY (customer_id) REFERENCES customers (customer_id), 
CONSTRAINT orders_fk_employees 
    FOREIGN KEY (employee_id) REFERENCES employees (employee_id) 
); 

CREATE TABLE order_details 
(
order_id INT  NOT NULL, 
item_id INT  NOT NULL, 
order_qty INT  NOT NULL, 
CONSTRAINT order_details_pk 
    PRIMARY KEY (order_id, item_id), 
CONSTRAINT order_details_fk_orders 
    FOREIGN KEY (order_id) 
    REFERENCES orders (order_id), 
CONSTRAINT order_details_fk_items 
    FOREIGN KEY (item_id) 
    REFERENCES items (item_id) 
); 

/*insert rows into tables*/ 
INSERT INTO customers VALUES 
(1,'Korah','Blanca','1555 W Lane Ave','Columbus','OH','43221','6145554435','6145553928'), 
(2,'Yash','Randall','11 E Rancho Madera Rd','Madison','WI','53707','2095551205','2095552262'), 
(3,'Johnathon','Millerton','60 Madison Ave','New York','NY','10010','2125554800',NULL), 
(4,'Mikayla','Davis','2021 K Street Nw','Washington','DC','20006','2025555561',NULL), 
(5,'Kendall','Mayte','4775 E Miami River Rd','Cleves','OH','45002','5135553043',NULL), 
(6,'Kaitlin','Hostlery','3250 Spring Grove Ave','Cincinnati','OH','45225','8005551957','8005552826'), 
(7,'Derek','Chaddick','9022 E Merchant Wy','Fairfield','IA','52556','5155556130',NULL), 
(8,'Deborah','Davis','415 E Olive Ave','Fresno','CA','93728','5595558060',NULL), 
(9,'Karina','Lacy','882 W Easton Wy','Los Angeles','CA','90084','8005557000',NULL), 
(10,'Kurt','Nickalus','28210N Avenue Stanford','Valencia','CA','91355','8055550584','055556689'), 
(11,'Kelsey','Eulalia','7833 N Ridge Rd','Sacramento','CA','95887','2095557500','2095551302'), 
(12,'Anders','Rohansen','12345 E 67th Ave NW','Takoma Park','MD','24512','3385556772',NULL), 
(13,'Thalia','Neftaly','2508 W Shaw Ave','Fresno','CA','93711','5595556245',NULL), 
(14,'Gonzalo','Keeton','12 Daniel Road','Fairfield','NJ','07004','2015559742',NULL), 
(15,'Ania','Irvin','1099 N Farcourt St','Orange','CA','92807','7145559000',NULL), 
(16,'Dakota','Baylee','1033 NSycamore Ave.','Los Angeles','CA','90038','2135554322',NULL), 
(17,'Samuel','Jacobsen','3433 E Widget Ave','Palo Alto','CA','92711','4155553434',NULL), 
(18,'Justin','Javen','828 S Broadway','Tarrytown','NY','10591','8005550037',NULL), 
(19,'Kyle','Marissa','789 E Mercy Ave','Phoenix','AZ','85038','9475553900',NULL), 
(20,'Erick','Kaleigh','Five Lakepointe Plaza, Ste 500','Charlotte','NC','28217','7045553500',NULL), 
(21,'Marvin','Quintin','2677 Industrial Circle Dr','Columbus','OH','43260','6145558600','6145557580'), 
(22,'Rashad','Holbrooke','3467 W Shaw Ave #103','Fresno','CA','93711','5595558625','5595558495'), 
(23,'Trisha','Anum','627 Aviation Way','Manhatttan Beach','CA','90266','3105552732',NULL), 
(24,'Julian','Carson','372 San Quentin','San Francisco','CA','94161','6175550700',NULL), 
(25,'Kirsten','Story','2401 Wisconsin Ave NW','Washington','DC','20559','2065559115',NULL); 

INSERT INTO artists(artist_id,artist_name) VALUES 
(10,'Umani'), 
(11,'The Ubernerds'), 
(12,'No Rest For The Weary'), 
(13,'Burt Ruggles'), 
(14,'Sewed the Vest Pocket'), 
(15,'Jess & Odie'), 
(16,'Onn & Onn'); 

INSERT INTO items (item_id,title,artist_id,unit_price) VALUES 
(1,'Umami In Concert',10,17.95), 
(2,'Race Car Sounds',11,13), 
(3,'No Rest For The Weary',12,16.95), 
(4,'More Songs About Structures and Comestibles',12,17.95), 
(5,'On The Road With Burt Ruggles',13,17.5), 
(6,'No Fixed Address',14,16.95), 
(7,'Rude Noises',15,13), 
(8,'Burt Ruggles: An Intimate Portrait',13,17.95), 
(9,'Zone Out With Umami',10,16.95), 
(10,'Etcetera',16,17); 

INSERT INTO employees VALUES 
(1,'Smith','Cindy',null), 
(2,'Jones','Elmer',1), 
(3,'Simonian','Ralph',2), 
(9,'Locario','Paulo',1), 
(8,'Leary','Rhea',9), 
(4,'Hernandez','Olivia',9), 
(5,'Aaronsen','Robert',4), 
(6,'Watson','Denise',8), 
(7,'Hardy','Thomas',2); 

INSERT INTO orders VALUES 
(19,1,'2012-10-23','2012-10-28',6), 
(29,8,'2012-11-05','2012-11-11',6), 
(32,11,'2012-11-10','2012-11-13',NULL), 
(45,2,'2012-11-25','2012-11-30',NULL), 
(70,10,'2012-12-28','2013-01-07',5), 
(89,22,'2013-01-20','2013-01-22',7), 
(97,20,'2013-01-29','2013-02-02',5), 
(118,3,'2013-02-24','2013-02-28',7), 
(144,17,'2013-03-21','2013-03-29',NULL), 
(158,9,'2013-04-04','2013-04-20',NULL), 
(165,14,'2013-04-11','2013-04-13',NULL), 
(180,24,'2013-04-25','2013-05-30',NULL), 
(231,15,'2013-06-14','2013-06-22',NULL), 
(242,23,'2013-06-24','2013-07-06',3), 
(264,9,'2013-07-15','2013-07-18',6), 
(298,18,'2013-08-18','2013-09-22',3), 
(321,2,'2013-09-09','2013-10-05',6), 
(381,7,'2013-11-08','2013-11-16',7), 
(413,17,'2013-12-05','2014-01-11',7), 
(442,5,'2013-12-28','2014-01-03',5), 
(479,1,'2014-01-30','2014-03-03',3), 
(491,16,'2014-02-08','2014-02-14',5), 
(523,3,'2014-03-07','2014-03-15',3), 
(548,2,'2014-03-22','2014-04-18',NULL), 
(550,17,'2014-03-23','2014-04-03',NULL), 
(601,16,'2014-04-21','2014-04-27',NULL), 
(607,20,'2014-04-25','2014-05-04',NULL), 
(624,2,'2014-05-04','2014-05-09',NULL), 
(627,17,'2014-05-05','2014-05-10',NULL), 
(630,20,'2014-05-08','2014-05-18',7), 
(651,12,'2014-05-19','2014-06-02',7), 
(658,12,'2014-05-23','2014-06-02',7), 
(687,17,'2014-06-05','2014-06-08',NULL), 
(693,9,'2014-06-07','2014-06-19',NULL), 
(703,19,'2014-06-12','2014-06-19',7), 
(778,13,'2014-07-12','2014-07-21',7), 
(796,17,'2014-07-19','2014-07-26',5), 
(800,19,'2014-07-21','2014-07-28',NULL), 
(802,2,'2014-07-21','2014-07-31',NULL), 
(824,1,'2014-08-01',NULL,NULL), 
(827,18,'2014-08-02',NULL,NULL), 
(829,9,'2014-08-02',NULL,NULL); 

INSERT INTO order_details VALUES 
(381,1,1), 
(601,9,1), 
(442,1,1), 
(523,9,1), 
(630,5,1), 
(778,1,1), 
(693,10,1), 
(118,1,1), 
(264,7,1), 
(607,10,1), 
(624,7,1), 
(658,1,1), 
(800,5,1), 
(158,3,1), 
(321,10,1), 
(687,6,1), 
(827,6,1), 
(144,3,1), 
(479,1,2), 
(630,6,2), 
(796,5,1), 
(97,4,1), 
(601,5,1), 
(800,1,1), 
(29,10,1), 
(70,1,1), 
(165,4,1), 
(180,4,1), 
(231,10,1), 
(413,10,1), 
(491,6,1), 
(607,3,1), 
(651,3,1), 
(703,4,1), 
(802,3,1), 
(824,7,2), 
(829,1,1), 
(550,4,1), 
(796,7,1), 
(693,6,1), 
(29,3,1), 
(32,7,1), 
(242,1,1), 
(298,1,1), 
(479,4,1), 
(548,9,1), 
(627,9,1), 
(778,3,1), 
(19,5,1), 
(89,4,1), 
(242,6,1), 
(264,4,1), 
(550,1,1), 
(693,7,3), 
(824,3,1), 
(829,5,1), 
(829,9,1); 

/*Exercise One*/ 
SELECT customer_last_name as 'Last Name', customer_first_name as 'First Name', customer_phone as 'Phone' 
FROM customers 
ORDER BY customer_last_name, customer_first_name, customer_phone; 

/*Exercise Two*/ 
SELECT 
    CONCAT(customer_first_name, ' ' , customer_last_name) as 'Customer', customer_phone as 'Phone' 
FROM customers 
WHERE customer_state IN ('NY','NJ','DC') 
ORDER BY customer_phone; 

/*Exercise Three*/ 
SELECT DISTINCT customer_city as 'Cities' 
FROM customers 
ORDER BY customer_city DESC; 

/*Exercise Four*/ 
SELECT title as "Title", unit_price as 'Original', ROUND((unit_price - (unit_price * .25)), 2) as "Sale" 
FROM items 
ORDER BY unit_price ASC; 

/*Exercise Five*/ 
SELECT 
    CONCAT(customer_first_name, ' ' , customer_last_name) as 'Customer', customer_city as "City" 
FROM customers 
WHERE customer_zip LIKE '4%' 
ORDER BY customer_city; 

/*Exercise Six*/ 
SELECT order_id as "Order ID", DATE_FORMAT(order_date, '%M-%d-%Y') as "Order Date" 
FROM orders 
WHERE DATE_FORMAT(order_date, '%M') IN ('March', 'April', 'May') AND DATE_FORMAT(order_date, '%Y') IN ('2014') 
ORDER BY order_date; 

/*Exercise Seven*/ 
SELECT order_id as "Order ID", DATE_FORMAT(order_date, '%m-%d-%y') as "Ordered" 
FROM orders 
WHERE order_date BETWEEN '14-05-01' AND '14-05-31' 
ORDER BY order_date; 

/*Exercise Eight*/ 
SELECT order_ID as 'Order ID', customer_id as 'Customer ID', DATEDIFF(shipped_date, order_date) as 'Difference' 
FROM orders 
WHERE DATEDIFF(shipped_date, order_date) >= 15 
ORDER BY customer_id; 

/*Exercise Nine*/ 
SELECT order_id as 'Order ID', customer_id as 'Customer ID', DATE_FORMAT(order_date, '%m-%d-%y') as 'Date Ordered' 
FROM orders 
WHERE shipped_date IS NULL 
ORDER BY order_date DESC; 

/*Exercise Ten*/ 
SELECT order_id as 'Order ID', DATE_FORMAT(order_date, '%m-%d-%y') as 'Date Ordered', 
    DATE_FORMAT(shipped_date, '%m-%d-%y') as 'Date Shipped', DAYNAME(shipped_date) as 'Order Day' 
FROM orders 
WHERE DAYNAME(shipped_date) = 'Sunday' OR DAYNAME(shipped_date) = 'Saturday' 
ORDER BY DAYNAME(shipped_date); 

/*Exercise Eleven*/ 
SELECT customer_last_name as 'Last Name', customer_phone as 'Phone', customer_fax as 'Fax' 
FROM customers 
WHERE customer_fax IS NOT NULL 
ORDER BY customer_fax; 

/*Exercise Twelve*/ 
INSERT items VALUES 
(11,'Ode To My ERD',15,12.95); 

SELECT item_id as 'Item ID', title as 'Title', artist_id as 'Artist ID', unit_price as 'Unit Price' 
FROM items 
WHERE item_id >10; 

/*Exercise Thirteen*/ 
UPDATE items 
SET unit_price = 7.95 
WHERE item_id = 11; 

SELECT item_id as 'Item ID', title as 'Title', artist_id as 'Artist ID', unit_price as 'Unit Price' 
FROM items 
WHERE item_id > 10; 

/*Exercise Fourteen*/ 
DELETE FROM items 
WHERE item_id > 10; 
/*If it works, this should leave us with only TWO displays of an item with Item ID of 11.*/ 
SELECT item_id as 'Item ID', title as 'Title', artist_id as 'Artist ID', unit_price as 'Unit Price' 
FROM items 
WHERE item_id > 10; 

/*Exercise Fifteen*/ 
SELECT 
    CONCAT(customer_last_name, ', ', customer_first_name) as 'Customer', 
    CONCAT('(', SUBSTRING(customer_phone, 1, 3) , ')' , 
       SUBSTRING(customer_phone, 4, 3) , '-' , 
       SUBSTRING(customer_phone, 7, 4)) as 'Phone' 
FROM customers 
ORDER BY CONCAT(customer_last_name, ', ', customer_first_name); 

/*Week Five Lab*/ 
SELECT orders.order_ID as 'Order ID', orders.order_date as 'Order Date', 
    CONCAT(customers.customer_first_name, ' ', customers.customer_last_name) as 'Customer', customers.customer_city as 'City' 
FROM Orders 
JOIN Customers 
ON orders.customer_ID = customers.customer_ID 
WHERE customer.customer_state = 'OH' 
ORDER BY orders.order_date DESC;  
+2

クエリは大丈夫です。 customer_state = 'OH'の顧客テーブルにレコードがありますか? –

+0

あなたはエラーがありますか?結果があなたの姿勢ではありません。サンプルデータを表示してください... – scaisEdge

+0

私はそれも良く見えたと思いました。私は状態が「オハイオ州」であるレコードを持っています...私はショーをするためにそれらを追加します...あなたがコード全体を望むかどうか私に教えてください。それは、私のコードのその部分には何も示されていないだけです。 – Sierra

答えて

5

WHERE customer.customer_state = 'OH' 

WHERE customers.customer_state = 'OH' 
する必要があります

?ここで

は、私はジョンが問題を見つけたと思うデモhttp://sqlfiddle.com/#!9/9c86c/1

(顧客のSに注意してください)

+0

ああ私の良さ!どうもありがとうございます。それは私がしたばかげたことです。 – Sierra

+0

私はレッドモンドの近くに住んでおり、新しいバージョンのSQL Serverを入手した場合、このようなwのものを混乱させる必要はありません。あなたは私が推測するオープンソースソフトウェアであなたが支払うものを手に入れます! – 3z33etm

2

です。あなたのSQLクライアントがエラーを出さなかったことは驚きです。

将来、テーブルのエイリアスを行う必要があります。これにより、クエリの読み込みが容易になり、このようなエラーが発生しやすくなります。

/*Week Five Lab*/ 
SELECT o.order_ID as 'Order ID', o.order_date as 'Order Date', 
    CONCAT(c.customer_first_name, ' ', c.customer_last_name) as 'Customer', c.customer_city as 'City' 
FROM Orders o 
    JOIN Customers c 
     ON o.customer_ID = c.customer_ID 
WHERE c.customer_state = 'OH' 
ORDER BY o.order_date DESC; 
+0

YMMV、しかし、私は一文字エイリアスがこれを読みやすくするとは思わない。 – DarkDust

+0

公正なポイント。私はテーブル全体の名前にそれらを好む。おそらく短いエイリアスが最適です。 cust、ord。 – wij

+0

別名は、表名を接頭辞として持つ列ではほとんど重複しています。 – ebyrob

関連する問題