Reputation:
I have view:
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;
I can call view using:
select * from pohled;
It possible set some parameter (v.ID_VYSETRENI
)?
Some like this:
select * from pohled WHERE v.ID_VYSETRENI = 2;
Thank you for your help
Upvotes: 0
Views: 28
Reputation: 494
ID_VYSETRENI is not declared in your view specification, so add the field to the view specification, something like:
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;
And then you will be able to reference it when you query your view.
select * from pohled WHERE ID_VYSETRENI = 2;
Note that I included your field in your GROUP clause, however, as you may know already, could use MAX or MIN, you should know better the logic of your desired resulting data set to include the column, so I leave that to you.
And BTW OldProgrammer is right this should be tagged as SQL only.
Upvotes: 1