запрос работает без WHERE, но с ним, а не с "LIMIT 0, 25 'в строке 2" - PullRequest
0 голосов
/ 16 декабря 2018

Это запрос, который я выполняю:

SELECT IDEgzemplarz, Tytul 
FROM egzemplarze 
WHERE DoWypozyczenia = 0
INNER JOIN ksiazki ON egzemplarze.KsiazkaID = ksiazki.IDKsiazki 

Это запрос, который я получаю по ошибке «окно»:

SELECT IDEgzemplarz, Tytul 
FROM egzemplarze 
WHERE DoWypozyczenia = 0
INNER JOIN ksiazki ON egzemplarze.KsiazkaID = ksiazki.IDKsiazki 
LIMIT 0, 25

Это ошибка:

1064 - что-то не так в вашем синтаксисе obok 'INNER JOIN ksiazki ON egzemplarze.KsiazkaID = ksiazki.IDKsiazki LIMIT 0, 25' w linii 2

Мне любопытно, почему этот запрос добавляетв конце "LIMIT 0, 25", когда я не набрал его.Лучше всего, если я выполню этот запрос без оператора «WHERE DoWypozyczenia = 0», запрос будет работать ...

У вас есть идеи?Спасибо за помощь;).

Ответы [ 3 ]

0 голосов
/ 16 декабря 2018

WHERE предложение в SQL должно быть в конце

0 голосов
/ 16 декабря 2018

SQL-операторы состоят из набора предложений.Ваш запрос хочет использовать четыре из них: SELECT, FROM, WHERE и LIMIT.Обратите внимание, что JOIN является оператором , а не оператором.Порядок пунктов в точности соответствует порядку выше.WHERE следует FROM.

Я бы порекомендовал вам научиться использовать псевдонимы таблиц и уточнять имена всех столбцов.

Ваш запрос должен выглядеть примерно так:

SELECT e.IDEgzemplarz, k.Tytul 
FROM egzemplarze e INNER JOIN
     ksiazki k
     ON e.KsiazkaID = k.IDKsiazki 
WHERE k.DoWypozyczenia = 0;

Я предполагаю, из каких таблиц взяты столбцы, поэтому e s и k s могут быть неверными.Запросы, которые вы пишете, должны быть в явном виде о происхождении столбцов.

Я не знаю, почему LIMIT 0, 25 был добавлен в ваш запрос.Это ограничивает количество строк до 25 строк в наборе результатов.Я предполагаю, что у вас есть настройки в приложении, которое вы используете для запроса базы данных.

0 голосов
/ 16 декабря 2018

Просто измените ваш запрос с:

SELECT IDEgzemplarz, Tytul FROM egzemplarze WHERE DoWypozyczenia=0
INNER JOIN ksiazki ON egzemplarze.KsiazkaID = ksiazki.IDKsiazki 

На:

SELECT IDEgzemplarz, Tytul FROM egzemplarze 
INNER JOIN ksiazki ON egzemplarze.KsiazkaID = ksiazki.IDKsiazki
WHERE egzemplarze.DoWypozyczenia=0

На самом деле вы поместили предложение WHERE в неправильную позицию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...