user7988586
user7988586

Reputation:

How can I call view with specific where using SQL

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

Answers (1)

Jair Hernandez
Jair Hernandez

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

Related Questions