我是SQL中的Noob。SQL簡單內部加入
伊夫3表:
TB_ITEM
{
TB_ITEM_ID int primary key,
TB_ITEM_CAT_ID int,
TB_ITEM_SUBCAT_ID int,
TB_ITEM_NAME varchar(350)
add constraint FK_ITEM_CAT foreign key(TB_ITEM_CAT_ID)
references TB_ITEM_CAT(TB_ITEM_CAT_ID),
add constraint FK_ITEM_SUBCAT foreign key(TB_ITEM_SUBCAT_ID)
references TB_ITEM_SUBCAT(TB_ITEM_SUBCAT_ID)
}
TB_ITEM_CAT
{
TB_ITEM_CAT_ID int primary key,
TB_ITEM_CAT_NAME varchar(350)
}
TB_ITEM_SUBCAT
{
TB_ITEM_SUBCAT_ID int primary key,
TB_ITEM_CAT_ID int,
TB_ITEM_SUBCAT_NAME
add constraint FK_CAT foreign key(TB_ITEM_CAT_ID)
references TB_ITEM_CAT(TB_ITEM_CAT_ID)
}
TABLE 「TB_ITEM」 HAS 416個記錄。
我用盡,請查詢:
select a.TB_ITEM_NAME, b.TB_ITEM_CAT_NAME, c.TB_ITEM_SUBCAT_NAME from
TB_ITEM a inner join
TB_ITEM_CAT b on a.TB_ITEM_CAT_ID = b.TB_ITEM_CAT_ID
inner join TB_ITEM_SUBCAT c
on a.TB_ITEM_SUBCAT_ID = c.TB_ITEM_SUBCAT_ID
和結果是:1162個結果
我的意思是:我只想檢索從TB_ITEM那些416點的記錄及其類別名字和子目錄名稱 來自TB_ITEM_CAT和TB_ITEM_SUBCAT
此查詢是錯誤的嗎?爲什麼1162記錄只代替416?
任何意識?
如果'TB_ITEM'有多行'TB_ITEM_SUBCAT_ID'具有相同的條目,那麼它們將與'TB_ITEM_SUBCAT_NAME'中的相同名稱的列匹配多次。乍一看,這可能是問題。 – 2011-10-04 21:36:55
嘗試在查詢結尾添加一個由1,2,3組組成的組。問題可能是你有重複的行。 – 2011-10-04 21:43:22
與分組,結果計數是1152. -10 – ozsenegal