私のデータベーステーブルは次のとおりです
CREATE TABLE [dbo].[vProduct](
[nId] [int] NOT NULL, //Primary key
[sName] [varchar](255) NULL
)
CREATE TABLE [dbo].[vProductLanguage](
[kProduct] [int] NOT NULL,
[kLanguage] [int] NOT NULL //Foriegn key to table vLanguage
)
CREATE TABLE [dbo].[vLanguage](
[nId] [int] NOT NULL, //Primary key
[sName] [varchar](50) NULL,
[language] [char](2) NULL
)
テーブル vProduct は、vProduct.nId = vProductLanguage.kLanguage で vProductLanguage と関係があります。
テーブル vProductLanguage は vProductLanguage.kLanguage = vLanguage.nid の vLanguage と関係があります
したがって、同様のテーブル vProductLanguage には、選択されている言語が含まれます
行は下の画像のようになります
Table vProduct
Table vProductLanguage
Table vLanguage
私が欲しいのは、テーブル vLanguage からすべての言語を選択し、テーブル vProductLanguage から選択した言語を選択することです。これはテーブル vProduct に関連付けられます。以下のクエリを試しましたが、製品に関連付けられている言語のみが返されます。
select * from
vProductLanguage
left join vLanguage on vProductLanguage.kLanguage = vLanguage.nId
left join vProduct on vProductLanguage.kProduct = vProduct.nId
Where vProduct.nId = 1
テーブル vLanguage とテーブル vProductLanguage からすべての行を選択したいと考えています。
私の質問を明確にしたことを願っています。