как выполнить вложенный? запрос в SQL?

#c# #sql #linq

#c# #sql #linq

Вопрос:

Добрый день. У меня есть одна таблица. Пожалуйста, помогите мне составить запрос.

1-й запрос:

 SELECT Name, Time FROM table1 WHERE Ongoing_ID IS NOT NULL
  

2-й запрос:

 SELECT Name, Time FROM table1 WHERE Disconnect_ID IS NOT NULL
  

как я могу объединить эти два запроса в один?
Необходимо получить значения, если текущее значение NOT NULL count >0 и Disconnect_ID NOT NULL count >0.
Те. Мне нужно получить значения, которые оба имеют значения.
Если disconnect_ID = 0, то в этом нет необходимости
пример таблицы sql:

введите описание изображения здесь

Комментарии:

1. как? много разных способов. зависит от того, какой результат вы хотите получить.

2. Извините, я не уточнил. Необходимо получить значения, если текущее значение NOT NULL count >0 и Disconnect_ID NOT NULL count >0. Те. Мне нужно получить значения, которые оба имеют значения. Если disconnect_ID = 0, то в этом нет необходимости

Ответ №1:

Легко, используйте and в where предложении, если вы хотите, чтобы оба условия были истинными.

 SELECT Name, Time 
FROM
    table1 
WHERE
    Disconnect_ID IS NOT NULL 
    and Ongoing_ID IS NOT NULL
  

Если вы хотите выполнить любое условие, используйте or

 SELECT Name, Time 
FROM
    table1 
WHERE
    Disconnect_ID IS NOT NULL 
    or Ongoing_ID IS NOT NULL
  

Редактировать на основе комментария

 SELECT Name, Time 
FROM
    table1 
WHERE
    Disconnect_ID > 0
    and Ongoing_ID > 0
  

Комментарии:

1. Извините, я не указал результат, который я хочу получить. Если количество отключений> 0 и количество подключений> 0, то получите все значения

2. Проверьте обновленный ответ. Сравнения больше, чем, меньше, чем, не включают значения null.