Sehr Ashfaq Ответов: 1

Это мой запрос и он не показывает никаких данных пожалуйста кто нибудь помогите мне :(


Выберите task_desp из Assign_taskk, где due_date >= '6/26/216'
и
sup_id =
(Выберите sup_id из Approved_project, где completion_status = 'In Progress'
И
P_id = (выберите P_id из student_proj_detail, где stnId = '1'))

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

я выполнил в sql server, но не работает

1 Ответов

Рейтинг:
2

OriginalGriff

Просто: нет совпадающих строк.

Начните с SSMS и попробуйте каждую часть запроса. Начните с просто:

Select task_desp from Assign_taskk where due_date >= '6/26/216'
И посмотрите, какие именно строки он возвращает.
Затем используйте эти строки, чтобы проверить и вторую часть. А потом последний.
Я предполагаю, что это дата: SQL не особенно любит европейские даты и предпочитает ISO: yyyy-MM-dd, так что вполне возможно, что ваша дата просто плохо конвертируется. Также возможно, что вы храните даты в своей БД как NVARCHAR или VARCHAR, и это вызывает проблему.
Мы не знаем-у нас нет доступа к вашим данным, поэтому мы не можем проверить. Так что вам придется сделать это самому!
(Но я подозреваю, что ваша база данных немного плохо организована, если вам нужны два вложенных выбора только для обработки предложения WHERE - я думаю, что дизайн, поддерживающий JOIN, будет намного проще работать.)