Новая запись в левом соединении

Последний уровень должен состоять из 11 каналов, соответствующих 11 классам для каждого местоположения пикселя. Это все равно, что делать классификацию мультикласса для каждого местоположения пикселя.

48
задан David Glenn 7 April 2009 в 01:40
поделиться

3 ответа

Попробуйте это:

SELECT a.State, count(c.CustomerID)
FROM Product p
INNER JOIN Customer c ON c.CustomerID = p.CustomerID
LEFT JOIN Address a ON a.CustomerID = c.CustomerID 
      AND a.AddressID = 
        (
           SELECT MAX(AddressID) 
           FROM Address z 
           WHERE z.CustomerID = a.CustomerID
        )
WHERE p.ProductID = 101
GROUP BY a.State
96
ответ дан cjk 7 November 2019 в 12:25
поделиться

Я не вижу, как можно сделать это, не имея таблиц Orders и OrderDetails. Таблица Orders включала бы CustomerID ShippingDate и ShipToAddressID, и OrderDetails будет иметь OrderID и ProductID. Вы будете затем нуждаться во вложенном запросе, чтобы определить новый порядок (и следовательно новый адрес), соединить это с подробными сведениями о заказе для заказывания продуктов, затем фильтровать на продукте, о котором Вы заботитесь.

2
ответ дан John Saunders 7 November 2019 в 12:25
поделиться

Вы могли также попробовать (предположение, что я помню свой синтаксис SQLServer правильно):

SELECT state, count(customer_id)
FROM (
    SELECT
        p.customer_id
        , (SELECT TOP 1 State FROM Address WHERE Address.CustomerID = p.CustomerID ORDER BY Address.ID DESC) state
    FROM Product p
    WHERE p.ProductID = 101)
GROUP BY state
1
ответ дан Hank Gay 7 November 2019 в 12:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: