Нужна помощь, чтобы объединить содержимое из 2 таблиц - PullRequest
0 голосов
/ 30 июня 2019

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

, пожалуйста, помогите мне в создании запроса sql для этогоусловие.

Plants Table :
=====
plant_name; plant_species; seed_year

Marcantia1, Bryophyte, 2012

cycas1, gymnosperm, 2013

Marcantia2, Bryophyte, 2016

weather table :
======
plant_species; weather_type

Bryophyte, sunny

gymnosperm, rainy

gymnosperm, sunny

пример: Единственный вид растений в погоде, который цветет при одном типе погоды, это Bryophyte, который цветет в солнечную погоду, и есть две записи в таблице растений, где plant_species - это bryophyte, то есть marcantia1 и marcantia2.

Required output :
=====
weather_type; plant_name

sunny, marcantia1

sunny, marcantia2

Ответы [ 2 ]

0 голосов
/ 30 июня 2019

Вам нужно сгруппировать с предложением с count( distinct weather_type ) = 1:

select max(weather_type) as weather_type, plant_name
  from plants p
  join weather w on w.plant_species = p.plant_species
 group by plant_name
having count( distinct weather_type ) = 1;

WEATHER_TYPE    PLANT_NAME
------------    -----------
sunny           Marcantia1
sunny           Marcantia2

Демо

0 голосов
/ 30 июня 2019
SELECT
    w.weather_type,
    p.plant_name
FROM Plants p
LEFT JOIN weather w 
   ON w.plant_species = p.plant_species

Я выбрал LEFT JOIN, сюда также войдут растения, которых нет в таблице погоды.

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