Member 12183079 Ответов: 3

Как использовать поиск во внутреннем соединении


Выберите NM. [news_id],
Ни.путь_к_образу
, Преобразовать(varchar(50), [news_date], 106) в news_date
,Нм.[news_head]
,Нм.[short_news]
,Нм.[news_descrip]
,Нм.[news_prod]
,Нм. [prodduct_id]
, NM. [страна]
,NM. [код страны]
,Нм.[news_source]
,Нм.[news_url]
,Нм.[news_status]
,NM. [RowNo]
,Нм.[Поиск],Нм.Имя_операции от NewsMaster Нм внутреннее соединение news_images Н. и. о Нм. news_id = ни.news_id
где NM. Created_Date = convert(varchar(10), getdate (), 102)
заказ по NM. news_date desc

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

Выше приведен мой запрос, когда я использую where NM. Created_Date = convert(varchar(10), getdate (), 102) он не работает, он не получает запись, но когда я удаляю внутреннее соединение и поиск, то он получает записи, поэтому, пожалуйста, помогите мне, как искать

3 Ответов

Рейтинг:
2

OriginalGriff

Начните с изменения дизайна БД: никогда не храните значения дат в виде строк. Скорее всего - и без ваших данных все, что мы можем сделать, это догадаться, - что даты в вашем столбце Created_Date не совсем то, что вы думаете. А поскольку сравнение строк требует, чтобы все символы были идентичны, тривиальное различие означает отсутствие совпадения.


Рейтинг:
1

Richard Deeming

Если он работает, когда вы удаляете INNER JOIN, то это означает, что в объединенной таблице нет связанных записей.

Попробуйте использовать LEFT JOIN вместо.

Но, как сказал Грифф в решении №1, Убедитесь, что вы не храните даты в виде строк. Используйте один из Типы даты и времени[^] вместо.


Рейтинг:
0

ashokmaurya786

во второй таблице

news_images NI
у него нет записей на эту дату, вот в чем причина.

Почему вы используете join, в приведенном выше запросе вы не извлекаете данные из второй таблицы.


CHill60

Вы не добавили ничего из того, что уже было сказано