2015-04-12 103 views
0

我努力理解的問題是:SQL查詢字母縮寫

編寫一個查詢,列出成分的開始與初始字母字符數。你的輸出應該有< = 26行並按字母順序排列。

任何幫助將不勝感激!

CREATE TABLE Ingredient 
( 
    idI NUMBER    constraint pk_Ingredient PRIMARY KEY , 
    ingrDesc VARCHAR2(100) constraint nn1Ingredient not null 
); 
CREATE TABLE Recipe 
(
    idR NUMBER    constraint pk_recipe PRIMARY KEY , 
    recipeTitle VARCHAR2(200) constraint nn1Recipe not null, 
    prep Text VARCHAR2(4000), 
    cuisineType VARCHAR2(50), 
    mealType VARCHAR2(30) DEFAULT NULL, 
    CONSTRAINT ch_mealType CHECK (mealType IN ('starter', 'main', 'dessert', null)) 
); 
CREATE TABLE RecpIngr 
(
    idR NUMBER , 
    hidI NUMBER , 
    CONSTRAINT pk_RecpIngr PRIMARY KEY (idR, idI), 
    CONSTRAINT fk1RecpIngr_recipe foreign key(idR) references Recipe, 
    CONSTRAINT fk2RecpIngr_ingredient foreign key(idI) references Ingredient 
) 
organization index; 
+0

你必須給我們爲您的家庭工作提供幫助的課程學分。 – APC

回答

0

我不知道如果我得到你的表realation權 但是這或多或少是你所需要的(很多方法可以給你同樣的解決方案):

select * from 
(
select distinct a.ingrDesc , b.recipeTitle 
from Ingredient a, 
    Recipe b 
    RecpIngr c 
where b.idR = b.idR 
and a.idI = c.idR 
) 
where rownum <= 26 
Order by ingrDesc 
+0

該解決方案缺少ORDER BY子句,因此不能保證「按字母順序排列」。 – APC