我有看法:
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;
感谢您的帮助
答案 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。