Получение дубликатов записей с использованием SQLIte - PullRequest
0 голосов
/ 26 марта 2020

У меня есть таблица с именем Organization, которая выглядит следующим образом ..

Пожалуйста, смотрите Организационный стол

У меня также есть другая таблица Plant с тем же PlantID, который выглядит так (на рисунке Plant_Id находится в крайнем правом положении) ..

Пожалуйста, смотрите таблицу Plant

Когда я использую внутреннее соединение, чтобы получить конкретный c ряд, я получаю один и тот же ряд, повторенный дважды. Это запрос, который я использовал ...

SELECT DISTINCT * FROM eSMAT_List INNER JOIN Organization on eSMAT_List.Plant_Id = 291320

Что я здесь не так делаю ..?

(Кроме того, я жестко закодировал 291320, потому что это значение I sh для передачи)

1 Ответ

0 голосов
/ 26 марта 2020
  1. Вы на самом деле не JOINING ваши таблицы, вам нужно JOIN для общего значения ключа в обеих таблицах. (Из ваших фотографий я бы сказал, что это Organization.mainID и eSMAT_List.Plant_Id).
  2. Вы хотите использовать предложение WHERE для фильтрации до заданного PlantID.
  3. DISTINCT не требуется, если в вашем примере нет данных и ожидаемых результатов, которых нет в вашем сообщении.
  4. Кроме того, вы захотите сделать этот запрос параметризованным или хранимой процедурой и передать значение id, чтобы что-то например: @plantId INT, тогда вы будете использовать его в своем запросе вместо вашего жестко закодированного примера.

Ваш запрос, я думаю, должен выглядеть следующим образом:

SELECT * 
FROM  eSMAT_List 
INNER JOIN Organization 
on eSMAT_List.Plant_Id = Organization.mainID
WHERE eSMAT_List.Plant_Id = @plantId (291320 in your example) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...