Abdalla Ben Omran Ответов: 2

Проблема с запросом ?


Этот запрос он не работает он не дает мне никаких данных не могли бы вы взглянуть пожалуйста и сказать мне где находится erro ?
Я буду рад получить объяснение

Что я уже пробовал:

DECLARE @fromdate datetime = Convert (datetime, '05.10.19', 4), @todate datetime= Convert (datetime, '15.11.19', 4)

select  itemH.ProduktID,p.P_NavArtNr as ProduktNavArtNr,p.P_Name as ProduktName,

Concat(lager.Scancode ,handling.Scancode) as ToLocationScancode, 

Concat (lager2.Scancode ,handling2.Scancode) as FromLocationScancode, itemH.Date, itemH.Art

from ItemHistory itemH

join Produkte p on itemH.ProduktID = p.P_ID
left Join Lagerort lager on itemH.ToLocation = lager.LagerID

left join HandlingUnits handling on itemH.ToLocation = handling.Unit_ID

left join Lagerort lager2 on itemH.FromLocation = lager2.LagerID 

left join HandlingUnits handling2 on itemH.FromLocation = handling2.Unit_ID

where Date = @fromdate and Date =@todate

order by itemH.Date desc

0x01AA

WHERE Date = @fromdate and Date =@todate
должно быть больше
WHERE Date >= @fromdate and Date <= @todate

[no name]

спасибо, он работает так, как я хотел ..большое спасибо

0x01AA

Добро пожаловать. Может быть, вы принимаете решение 1, оно эквивалентно ;)

[no name]

вы не сумбировали это как решение ... не могли бы вы отредактировать свой ответ, пожалуйста . я приму это как решение

0x01AA

Сделано

2 Ответов

Рейтинг:
7

0x01AA

WHERE Date = @fromdate and Date =@todate
должно быть больше
WHERE Date >= @fromdate and Date <= @todate

Но вышесказанное эквивалентно решению 1.

Из моего опыта в практике можно найти больше этого (обратите внимание на "<" вместо "<=":
WHERE Date >= @fromdate and Date < @todate


Maciej Los

5ed!

0x01AA

Спасибо тебе, Мацей!

Рейтинг:
16

OriginalGriff

Если ваш "действительный период" не будет очень коротким, это условие никогда не будет выполнено:

where Date = @fromdate and Date =@todate
Кроме того, "=" является точным совпадением - если вы используете значения DATETIME, то временная часть также должна совпадать с тиком.
Я бы предположил, что вы действительно хотите этого:
WHERE [Date] BETWEEN @fromdate AND @todate


[no name]

Я сделал это также "где Дата между @fromdate и @todate заказ по itemH.Дата desc"
но кто-то сказал мне, что есть другое решение ?!

[no name]

Где Date >= @fromdate и Date <= @todate
этот сейчас работает, он от @0x01AA