Я пытаюсь создать код SQL, который берет отличные значения из двух столбцов и «добавляет» их.Я имею в виду, что следующая таблица:
Account Article
-----------------
1 1
1 2
2 3
должна дать следующий результат:
Account Article
-----------------
1 1
1 2
1 3
2 1
2 2
2 3
Я делаю это из двух таблиц, используя объединение, поэтому идеячтобы получить все комбинации всех уникальных номеров счетов в обеих таблицах со всеми уникальными номерами статей в обеих таблицах.И я хочу пункт, который ограничивает обе таблицы датой заказа позже, чем год назад.
Пока у меня есть:
Select Distinct
"Tra.".cus_outnum As "account number",
"Tra.".artnum As "article number"
From
(table1) "Tra."
Where
"Tra.".invdat >= DATEADD(year, -1, GETDATE())
Union
Select Distinct
"Sal.".outnum As "account number",
"Sal.".artnum As "article number"
From
(table2) "Sal."
Where
"Sal.".deldat>= DATEADD(year, -1, GETDATE())
Проблема в том, что он дает мне только комбинацию, где существуют и аккаунт, и статья.Я безуспешно устал делать это с утверждением with:
WITH temp1 AS
(
Select distinct cus_outnum
From table1
), temp2 AS
(
Select distinct artnum
From table1
)
SELECT cus_outnum,artnum
FROM temp1, temp2, table1
Помощь муравья была бы очень необходима!