2015-04-03 6 views
0

Я пытаюсь написать запрос в Oracle, который будет указывать количество клиентов, у которых нет заказов.Проблемы с запросом COUNT

Вот код, я работаю с:

SELECT 
    COUNT(customer_num) 
FROM 
    orders 
INNER JOIN 
    customer ON orders.order_num = customer.customer_num, 
WHERE 
    order.order_num IS NULL; 

Это сообщение об ошибке:

ORA-00903: неверное имя таблицы

Очевидно, что это ISN Не работаем. Пожалуйста помоги!

+0

У вас есть запятая перед предложением where. Также я думаю, что вам может понадобиться внешнее соединение. –

+0

Запрос части этого вопроса должен быть в коде формата – VicJordan

+1

у вас также есть order.order_num, а также из заказов FROM, вы должны получить имя таблицы прямо. Это вызывает ошибку. но вы также должны установить фиксированную запятую в соответствии с TI – ivan7707

ответ

0
Select COUNT(customer_num) 
FROM customer LEFT JOIN orders ON customer.customer_num = orders.order_num 
WHERE orders.order_num is NULL; 

Был кома там, которые не должны быть там и WHERE orders.order_num не хватало на «S». Также у вас есть 1 таблица во множественном числе, а другая нет. Может быть, его таблица customers, а не customer?

Я думаю, LEFT JOIN также будет работать лучше для того, что вы пытаетесь достичь

EDIT: Посмотрите на эту SQL statement to get all customers with no orders

0
Select COUNT(customer_num) 
FROM orders 
right JOIN customer 
ON orders.order_num = customer.customer_num 
where orders.order_num is NULL; 

Кроме того, ваш клиент единственном числе и ваши заказы во множественном числе , что может смутить вас при написании запроса.

Смежные вопросы