Как реализовать запрос для отображения данных, используя 3 таблицы данных, которые зависят друг от друга? - PullRequest
0 голосов
/ 26 июня 2019

Мои три стола похожи на это

Requistion                      Item                            Sub_Category

id  |  Item_id | status    Item_id  | name   | sub_cat         sub_cat |  Sub_name 

1   |  10      |  100           10  | apple  |1                     1  |  Fruits     
2   |  20      |  100           20  | Beans  |2                     2  |  Vegitable
3   |  30      |  100           30  | banana |1                     3  |  Drinks
4   |  40      |  200           40  | Water  |3

Я хочу отобразить все Под_имя При условии ниже

  • Состояние таблицы требований = 100
  • Результат без повторяющихся имен

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

Sub_name

Fruits
Vegitable

Ответы [ 3 ]

1 голос
/ 26 июня 2019

Используя DISTINCT Sub_name с JOIN s, это можно сделать:

SELECT DISTINCT S.Sub_name 
           FROM Requistion R
           JOIN Item I 
             ON I.Item_id = R.Item_id
           JOIN Sub_Category S 
             ON S.sub_cat = I.sub_cat
          WHERE R.status = 100
1 голос
/ 26 июня 2019
SELECT * FROM Requistion INNER JOIN Item on Item.Item_id=Requistion.Item_id INNER JOIN Sub_Category on Sub_Category.sub_cat=Item.sub_cat where STATUS=100 
0 голосов
/ 26 июня 2019

Вы можете использовать приведенный ниже запрос, чтобы получить его, используя group by, чтобы получить уникальное имя_субъекта,

select Sub_name from Sub_Category sc
JOIN Item i on i.sub_cat = sc.sub_cat
JOIN Requistion r on r.Item_id = i.Item_id
WHERE r.status = 100
GROUP BY sc.Sub_name

Вы можете использовать разные для того же самого,

select DISTINCT Sub_name from Sub_Category sc
JOIN Item i on i.sub_cat = sc.sub_cat
JOIN Requistion r on r.Item_id = i.Item_id
WHERE r.status = 100
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...