Topic: Help

Имеем простейший запрос SELECT id FROM si WHERE si.grsi=
Значение текстовое имеет вид ХХХХХХ-НН. При поиске результатов нет, при поиске значения ХХХХХХ находит результат. В чем причина

Re: Help

выполните в SQL

select 12345-12
и
select '12345-12'

Re: Help

Значение берется из поля Edit по этому оно уже идет с '
добавляя дополнительные кавычки получаем ошибку запроса. И к тому же, по части до дефиса находит строки а по полному значению нет. Может дефис в неявном виде пишется в базу?

Re: Help

...'SELECT id FROM si WHERE si.grsi='''+Form.Edit.Text+'''...

Re: Help

vovka3003 wrote:
...'SELECT id FROM si WHERE si.grsi='''+Form.Edit.Text+'''...

Благодарю, работает

Re: Help

Приветствую всех! Есть еще такой вопрос: есть таблица с датами привязанная к другой. Как прописать условие что бы условие срабатывало по максимальной дате? Необходимо при наличии даты больше не делать выборку. Коряво написал, но надеюсь что понятно

SELECT DISTINCT 

(SELECT model.model FROM model LEFT OUTER JOIN si ON si.id=pov.id_si WHERE model.id = si.id_model) AS `Модель`,
(SELECT si.nomer FROM si WHERE si.id=pov.id_si)  AS `зав.№`,
(SELECT factory.abrv FROM factory
LEFT OUTER JOIN apparat ON apparat.id_factory=factory.id
LEFT OUTER JOIN si ON apparat.id=si.id_apparat
WHERE si.id=pov.id_si) AS `Месторождение`,
MAX(pov.last)  AS `Текущая`,
MAX(pov.next)  AS `Следующая`,
(SELECT si.id FROM si WHERE si.id=pov.id_si) AS `ID`
FROM pov
LEFT OUTER JOIN si ON si.id=pov.id_si
WHERE DATE (pov.next) BETWEEN NOW() AND DATE_ADD(NOW(), INTERVAL {Edit7} MONTH) OR DATE (pov.next)< NOW() GROUP BY  si.nomer

Пример базы:


si -> data1
        data2
        data3 <-выбирает эту дату
        data4 (максимальная дата, больше условия)

Re: Help

наблюдаю тенденцию превращение топиков форума в страницы персональной поддержки автора...  а потом пользователи жалуются, что на форуме найти инфу сложно.... эх, модераторы...

Визуальное программирование: блог и телеграм-канал.

Re: Help

Ваш запрос выглядит мягко говоря - никак


Найдите сначала подзапросом запись которая относится к МАХ(Дата)
А уже к ней присоединяйте что хотите.


И читайте, читайте, читайте.

Re: Help

sparrow wrote:

Ваш запрос выглядит мягко говоря - никак


Найдите сначала подзапросом запись которая относится к МАХ(Дата)
А уже к ней присоединяйте что хотите.


И читайте, читайте, читайте.


MAX(Дата) прекрасно находится, при отсутствии WHERE выводит именно все приборы с максимальной датой. Но если прописать условия на дату меньше сегодняшней запрос выводит даты до максимальной. По логике правильно, но не то что мне нужно.