как выбрать конкретные данные на основе идентификатора - PullRequest
0 голосов
/ 02 февраля 2019

Таблица данных

id  |  regiondId     |     provId    |    munId   |     brgyId   |   deleted
1   |      4         |       41      |     411    |     411001   |      1
2   |      4         |       41      |     411    |     411002   |      1
3   |      4         |       41      |     412    |     412001   |      0
4   |      4         |       41      |     412    |     412002   |      0 
5   |      4         |       41      |     413    |     413001   |      0
6   |      4         |       41      |     413    |     413002   |      0
7   |      4         |       41      |     414    |     414001   |      0
8   |      4         |       41      |     414    |     414002   |      1

выборка Я хотел выбрать 413 в munId, но прежде чем я смогу выбрать 413, мне нужно сначала выбрать регион и пров.

Это мойзапрос будет выглядеть следующим образом.

SELECT * 
FROM tbldata 
WHERE regionId = '4' 
    AND provId = '41' 
    AND munId = '413' 
    AND brgyId = '' 
    AND deleted != 1

Таким образом, 1 удаляется, а 0 не удаляется, но использование оператора AND возвращает ноль, поскольку мой brgyId = null, а если я заменил оператор AND и использую OR рядом с brgyId, он выбирает все данные.с munId 413, даже если он удален.

есть ли способ получить конкретные данные на основе заданного значения, например, если я

SELECT * 
FROM tbldata where regiondId = '4' 
    AND provId = '41' 
    AND munId = '413' 
    AND brgyId ='413001' 
    AND deleted = 1

, я получу данные с идентификатором 5, и еслиЯ

SELECT * 
FROM tbldata 
WHERE regiondId = '4' 
    AND provId = '41' 
    AND munId = '413' 
    AND brgyId = '' 
    AND deleted = 1

я получаю данные с идентификатором 5 и 6, и если я

SELECT * 
FROM tbldata 
WHERE regiondId = '4' 
    AND provId = '41' 
    AND munId = '' 
    AND brgyId = ''
    AND deleted = 1

, я получаю данные с идентификатором от 1 до 8

1 Ответ

0 голосов
/ 03 февраля 2019

Если вам не нужны значения в определенном столбце, просто не включайте никаких ограничений в него в предложении WHERE.

Например, чтобы получить строки с id s5 и 6:

SELECT *
       FROM tbldata
       WHERE regiondId = '4'
             AND provId = '41'
             AND munId = '413'
             AND deleted = 0;

Обратите внимание, что в предложении WHERE нет операции над brgyId.

(Если тип данных столбцов на самом делечисловой, вы также можете удалить одинарные кавычки.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...