#sql #sql-server
#sql #sql-сервер
Вопрос:
мои табличные данные
введите описание изображения здесь
я хочу вычислить столбец недели на основе даты начала месяца и столбца даты начала и окончания недели. ожидание данных также прилагается
Комментарии:
1. Вам необходимо правильно отформатировать свои таблицы. Вам также необходимо объяснить, что вы пробовали.
2. пожалуйста, проверьте, что я его отформатировал. я хочу, чтобы таблица 1 и таблица 2 объединялись, а данные отображались как таблица 1, все записи
3. пожалуйста, проверьте еще раз мои данные таблицы 1 и таблицы 2. таблица 1 имеет коричневый цвет, но его не может быть в таблице 2, поэтому я хочу показать эту коричневую строку также, когда мы соединяем обе таблицы
4. Еще раз объясните, что вы пробовали и как связаны ваши таблицы.
5. у меня есть 5 записей в table1, OCStypeID и table2 styleid одинаковы. поэтому я хочу, чтобы при объединении обеих таблиц, чтобы запрос отображал 5record, отображался одинаково в таблице 1
Ответ №1:
Просто ОСТАЛОСЬ СОЕДИНИТЬ таблицу2 с таблицой1
SELECT DISTINCT
t1.OCStypeID
, t1.OCNum
, t1.ColorName
, t1.Orderqty
, COALESCE(CAST(t2.StyleID AS VARCHAR(30)), '') AS "StyleID"
, COALESCE(t2.ColorName, '') AS "ColorName"
, COALESCE(t2.Material, '') AS "Material"
FROM Table1 AS t1
LEFT JOIN Table2 AS t2
ON t2.StyleID = t1.OCStypeID
AND t2.ColorName = t1.ColorName
OCStypeID | OCNum | ColorName | Orderqty | styleId | ColorName | Материал |
---|---|---|---|---|---|---|
220009069 | 106307.1 | ЧЕРНЫЙ | 200 | 220009069 | ЧЕРНЫЙ | Ткань- (ITL-FC) |
220009069 | 106307.1 | Синий | 200 | 220009069 | Синий | Ткань- (ITL-FC) |
220009069 | 106307.1 | Коричневый | 4 | |||
220009069 | 106307.1 | ТЕМНО-ЗЕЛЕНЫЙ | 240 | 220009069 | ТЕМНО-ЗЕЛЕНЫЙ | Ткань- (ITL-FC) |
220009069 | 106307.1 | БЕЛЫЙ | 20 | 220009069 | БЕЛЫЙ | Ткань- (ITL-FC) |
Демонстрация в db<>скрипка здесь
Комментарии:
1. все еще коричневый цветназвание не подходит OCStypeID OCNum Цветназвание Orderqty styleId StyleColorName Материал 220009069 106307.1 ЧЕРНЫЙ 100 220009069 ЧЕРНАЯ ткань — (ITL-FC) 220009069 106307.1 СИНИЙ 100 220009069 СИНЯЯ ткань- (ITL-FC) 220009069 106307.1 ТЕМНО-ЗЕЛЕНЫЙ 6 220009069 ТЕМНО-ЗЕЛЕНАЯ ткань- (ITL-FC) 220009069 106307.1 БЕЛЫЙ 10 220009069 БЕЛЫЙ Ткань- (ITL-FC)
2. Хорошо, изменил его.
3. все тот же рамин
4. Изменил его. Может быть, это пустая строка или просто символ только с пробелами. Какую базу данных вы используете? Не уверен, что
TRIM
это стандартный ANSI SQL.5. sql server 2018 все тот же