как вызвать столбцы из другой таблицы, используя подзапросы в MySQL с определенным условием - PullRequest
0 голосов
/ 09 ноября 2018

// это вопрос Найти имя клиента, номер заказа и сумму заказа, если сумма заказа больше среднего объем продаж клиентов и сортировка записи по имени клиента [Подсказка: используйте ГДЕ пункт].

SELECT 
name, orderno, amount
FROM
customerinfo,
orderdetails
WHERE
amount > (SELECT 
        AVG(amount)
    FROM
        orderdetails)

ORDER BY name;      

// это результат результат не тот, который я ищу

это таблица кодировки

CREATE TABLE customerinfo (
customercode VARCHAR(10) NOT NULL UNIQUE,
name VARCHAR(60) NOT NULL,
address VARCHAR(60),
poscode INT(5),
city VARCHAR(30),
state VARCHAR(30),
hpno VARCHAR(20),
email VARCHAR(50),
salesmanid VARCHAR(10),
PRIMARY KEY (customercode),
FOREIGN KEY (salesmanid)
    REFERENCES salesman (salesmanid)
);

CREATE TABLE salesman (
salesmanid VARCHAR(10) NOT NULL UNIQUE,
salesmanname VARCHAR(60) NOT NULL,
PRIMARY KEY (salesmaniD)
);

CREATE TABLE orderinfo (
orderno INT(10) NOT NULL,
ordertype VARCHAR(50),
orderdate DATE,
deliverydate DATE,
PRIMARY KEY (orderno)
);

CREATE TABLE orderdetails (
orderno INT(10) NOT NULL,
itemcode VARCHAR(10) NOT NULL,
quantity INT(5),
amount DECIMAL(9 , 2 ),
PRIMARY KEY (orderno , itemcode),
FOREIGN KEY (orderno)
    REFERENCES orderinfo (orderno),
FOREIGN KEY (itemcode)
    REFERENCES item (itemcode)
);

CREATE TABLE item (
itemcode VARCHAR(10) NOT NULL UNIQUE,
itemdesc VARCHAR(60),
unit VARCHAR(10),
sellingprice DECIMAL(9 , 2 ) NOT NULL,
PRIMARY KEY (itemcode)
);

CREATE TABLE ordersalesmaninfo (
salesmanid VARCHAR(10) NOT NULL,
orderno INT(10) NOT NULL,
PRIMARY KEY (salesmanid),
FOREIGN KEY (salesmanid)
    REFERENCES salesman(salesmanid),
FOREIGN KEY (orderno)
    REFERENCES orderinfo (orderno)
);

У меня могут быть проблемы с процессом нормализации, но я думаю, что это не повлияет на вопрос.

...