我正在做一個查詢,查找出生在兩個日期之間的所有貓。每隻貓都有一個名字或多個名字。plsql/sql是否可以限制從連接返回的行,或者對每行進行某種子查詢?
初始查詢是一樣的東西
SELECT Id, Color FROM Cat WHERE Cat.BirthDate > dat_min AND Cat.BirthDate < dat_max;
我也有一個表叫CatName
這對每個類別ID,有這種貓已被其不同的所有者給一個或多個名稱。作爲查詢的一部分,我只想返回與CatName
表中的Id匹配的名字。因此,像:
SELECT Id, Color, Name FROM Cat JOIN CatName on .....
爲有5名貓,將返回5行。我只想要一排,第一個。如果我只是爲一隻貓檢索數據,那麼我只會使用ROWNUM將其限制爲1個查詢,但我試圖獲得所有貓的名單,包括他們的名字,所以我不能這樣做。
任何人都可以提供一些指導?我想它不一定是plsql特定的,這個技術將和我想象的一樣。
在第一個例子中,'c.id'來自哪裏?如果它是'從貓c選擇'那麼這是非常簡單的,並會很好的工作 – NibblyPig
是的,你是對的,我忘了別名 –
這很好,謝謝你詳細介紹了三種方法。你讓它看起來很容易:) – NibblyPig