2016-05-08 2 views
0

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

{ROOM*{PACIENT*{OPERATION(type='plastic')}}}[Room_ID] 

, который говорит: «Выбрать все номера, которые имеют, что взяли на себя для пациента операции в них» это «команда» в реляционной алгебре является правильным. Однако я не знаком с SQL, поэтому мне сложно перевести его в команду SQL. Я знаю, что я могу начать как

SELECT * FROM ROOM 
INNER JOIN 

но как я использовать несколько внутренних соединений с дополнительным agregate (например между {})?

Я пытаюсь понять это или найти что-то об этом, но я терплю неудачу.

+0

Посмотрите на [this] (http://stackoverflow.com/questions/36678487/converting-relational-algebra-to-corresponding-sql-query/36681353#36681353) ответ, который я дал аналогичному вопросу. Это должно помочь вам научиться конвертировать реляционную алгебру в SQL-запрос – JRLambert

ответ

0

Не зная полную схему невозможно сказать наверняка, но это звучит, как вы хотите что-то вроде этого:

SELECT DISTINCT r.Room_Id 
FROM Room r 
INNER JOIN Pacient p 
    ON p.Room_Id = r.Room_Id -- Here put whatever the Foreign key linking these 2 tables is 
INNER JOIN Operation o 
    ON o.Pacient_Id = p.Pacient_Id -- Same here 
WHERE [Type] = 'plastic' 

Кроме того, это может помочь узнать, что RDBMS вы используете.

Смежные вопросы