Bonjour

Je ne sais pas si ce que je cherche a faire est possible en SQL mais je n'ai pas encore trouvé de solution

J'ai deux tables

- Sales Channel (3 elements : 1,2,3)
- SalesPrice

Pour chaque article présent dans SalesPrice je dois avoir un prix correspondant our Canaux définis sans Sales Channel 1,2 et 3
J'essaye donc de créer une jointure entre ces deux tables qui ferait apparaitre les articles n'ayant pas les prix correspondant a chaque canaux

Mais je sèche !

La requête ci dessous me sort une ligne (pour SalesChannel 1)

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
select 
* 
from SalesPrice 
FULL OUTER JOIN SalesChannel SC on SC.pkid=SalesPrice.SalesChannelId
where SalesPrice.ArtId=22939
Mais j'aimerais voir apparaître 3 lignes dont deux auraient au moins L'article et le salesChannel, le reste null afin d'identifier les valeurs manquantes

Est-ce raisonnablement possible en SQL ?
Merci de votre aide

Voici le DDL de mes deux table

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
CREATE TABLE dbo.SalesChannel(
pkId int IDENTITY(1,1) NOT NULL,
Code varchar(32) NOT NULL,
Name varchar(128) NOT NULL,
Rank int NOT NULL,
CONSTRAINT PK_SalesChannel PRIMARY KEY CLUSTERED 
(
pkId ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
CREATE TABLE [dbo].[SalesPrice](
[pkId] [int] IDENTITY(1,1) NOT NULL,
[ArtId] [int] NOT NULL,
[SalesChannelId] [int] NULL,
[Price] [decimal](8, 2) NULL,
[LastUpdateBy] [varchar](64) NULL,
[DateLastUpdate] [datetime] NOT NULL,
CONSTRAINT [PK_SalesPrice] PRIMARY KEY CLUSTERED 
(
[pkId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON)
)