SQL запрос для отображения данных в gridview - PullRequest
0 голосов
/ 28 мая 2020

У меня есть сетка, которая отображает данные из SQL базы данных сервера во время загрузки страницы. Мой gridview содержит эти столбцы:

AssetType, IssuedOn, ReturnedOn

Я использовал запрос:

SqlCommand cmd = new SqlCommand(
    "SELECT * FROM AssetRequest WHERE ReturnedOn IS NULL OR ReturnedOn ='' ORDER BY id DESC",
    conn);

, который будет отображать данные с SQL сервера в gridview, когда ReturnedOn столбец не иметь какие-либо данные.

Новый запрос должен удовлетворять этим условиям,

  1. Он не должен отображать запись, если Assetype = "Laptop" или "Desktop" и IssuedOn не пусто.
  2. Но если Assetype = "Laptop" или "Desktop" и IssuedOn пусто, запись должна отображаться.
  3. Если Assetype = something и Returnedon не пуст, он не должен отображать эту запись в gridview.

Ответы [ 3 ]

1 голос
/ 29 мая 2020

Надеюсь, этот запрос решит вашу проблему.

SELECT *
FROM AssetRequest
WHERE (AssetType IN ('Laptop', 'Desktop') AND (IssuedOn IS NULL OR IssuedOn = '') AND (ReturnedOn IS NULL OR ReturnedOn = '')) 
OR (AssetType NOT IN ('Laptop', 'Desktop') AND (ReturnedOn IS NULL OR ReturnedOn = ''))
0 голосов
/ 28 мая 2020

Согласно вашим условиям, указанным выше, это должно соответствовать вашим требованиям:

select * 
from AssetRequest 
where 
  ((IssuedOn IS NULL OR IssuedOn = '') AND (Assetype IN ('Laptop', 'Desktop')) OR
  (ReturnedOn IS NULL OR ReturnedOn = '')
0 голосов
/ 28 мая 2020

Надеюсь, это поможет

select * 
from AssetRequest 
where (ReturnedOn is null or ReturnedOn ='' )
and Assetype not in ('Laptop','Desktop')
union
select * 
from AssetRequest 
where Assetype in ('Laptop','Desktop') and IssuedOn is null or IssuedOn= ''
...