如何使用SQL特定的位置调用视图

时间:2017-05-30 19:18:55

标签: sql oracle

我有看法:

SELECT MIN(v.DOBA_VYSETRENI), v.ID_PACIENTA, v.ID_DOKTORA, d.MIN_DOBA 
FROM vysetreni v, 
     doktor d 
WHERE v.ID_DOKTORA = d.ID_DOKTORA 
  AND v.ID_VYSETRENI = 1 
GROUP BY v.ID_DOKTORA, v.ID_PACIENTA, d.MIN_DOBA;

我可以使用以下方式调用视图:

select * from pohled;

可以设置一些参数(v.ID_VYSETRENI)吗?

有些人喜欢这样:

select * from pohled WHERE v.ID_VYSETRENI = 2;

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

ID_VYSETRENI未在视图规范中声明,因此请将该字段添加到视图规范中,例如:

SELECT MIN(v.DOBA_VYSETRENI), v.ID_PACIENTA, v.ID_DOKTORA, d.MIN_DOBA, v.ID_VYSETRENI
FROM vysetreni v, doktor d 
WHERE v.ID_DOKTORA = d.ID_DOKTORA 
AND v.ID_VYSETRENI = 1 
GROUP BY v.ID_DOKTORA, v.ID_PACIENTA, d.MIN_DOBA, v.ID_VYSETRENI;

然后,当您查询视图时,您将能够引用它。

select * from pohled WHERE ID_VYSETRENI = 2;

请注意,我在GROUP子句中包含了您的字段,但是,正如您可能已经知道的那样,可以使用MAX或MIN,您应该更好地了解所需结果数据集的逻辑以包含列,因此我将其留给你。

BTW OldProgrammer是对的,应该只标记为SQL。