Не удается найти синтаксическую ошибку в вложенном выделении SQL - PullRequest
0 голосов
/ 03 мая 2019

Кажется, я не могу найти синтаксическую ошибку в моем операторе выбора SQL. Пару часов пялился на экран и ничего не получил. Пожалуйста, помогите.

Ошибка # 1064, и это говорит о том, что синтаксическая ошибка "рядом с" СУЩЕСТВУЕТ (ВЫБЕРИТЕ e.item_Backid FROM Rental '".

Любая помощь приветствуется.

SELECT DISTINCT a.item_Backid, inv_name, item_size, item_Frontid, 
item_modeltype 
FROM Item a, Inventory c, Status b 
WHERE a.inv_id = c.inv_id and a.stat_id = b.stat_id and a.loc_id = 1 and 
     (a.stat_id = 1 or a.stat_id = 7) and 
      a.item_Backid NOT EXISTS (SELECT e.item_Backid 
                                FROM Rental d, Reserve1 e 
                                WHERE d.rent_id = e.rent_id and 
                                     (d.request_date = :cust_request_date or 
                                      d.request_date >= :cust_due_date or 
                                      d.due_date <= :cust_request_date))
ORDER BY inv_name, item_modeltype, item_Backid;

1 Ответ

0 голосов
/ 03 мая 2019

Ваш SQL неверен.

Формат NOT EXISTS:

SELECT <columns> FROM <table1>
 WHERE NOT EXISTS (SELECT <columns> FROM <table2>);

Пожалуйста, обратитесь к следующей ссылке для объяснения https://dev.mysql.com/doc/refman/8.0/en/exists-and-not-exists-subqueries.html

Ваш запрос будет работать с NOT IN

SELECT DISTINCT a.item_Backid, inv_name, item_size, item_Frontid, 
item_modeltype 
FROM Item a, Inventory c, Status b 
WHERE a.inv_id = c.inv_id and a.stat_id = b.stat_id and a.loc_id = 1 and 
 (a.stat_id = 1 or a.stat_id = 7) and 
  a.item_Backid NOT IN (SELECT e.item_Backid 
                            FROM Rental d, Reserve1 e 
                            WHERE d.rent_id = e.rent_id and 
                                 (d.request_date = :cust_request_date or 
                                  d.request_date >= :cust_due_date or 
                                  d.due_date <= :cust_request_date))
ORDER BY inv_name, item_modeltype, item_Backid;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...