Подрывная деятельность: то, что делает “Путь назначения, не существует” при слиянии средний?

Ваш запрос будет зависеть от того, что вы пытаетесь сделать в качестве конечного результата.

Если вы хотите просто ОДИН CustomerID, перейдите с:

SELECT a.ID AS InvoiceID, a.CustomerID, a.InvoiceVal AS StartInvoice
  , b.ID AS bid, b.Payment
  , a.InvoiceVal - ISNULL(SUM(b.Payment) OVER (PARTITION BY a.ID ORDER BY b.id),0) AS owed
FROM TableA a 
LEFT OUTER JOIN TableB b ON a.ID = b.InvoiceID
WHERE a.CustomerID = 12

И если это CustomerID не имеет никаких платежей, вы хотите использовать LEFT JOIN чтобы вы не ликвидировали причитающуюся сумму.

SELECT a.ID AS aid, a.CustomerID,  a.InvoiceVal AS StartInvoice
  , b.ID AS bid, b.Payment
  , a.InvoiceVal - ISNULL(SUM(b.Payment) OVER (PARTITION BY a.ID ORDER BY b.id),0) AS owed
FROM TableA a 
LEFT OUTER JOIN TableB b ON a.ID = b.InvoiceID
WHERE a.CustomerID = 11

Я также добавил ISNULL() вокруг Payment, чтобы не допустить null вашего количества owed. Его также можно добавить в InvoiceVal для учета идентификатора клиента, который еще не выставлен счет, если это было необходимо (или возможно из других таблиц).

Если вы хотите получить ВСЕХ CustomerID с, вам придется учитывать это в своем разделе.

SELECT s1.CustomerID, aid AS InvoiceID, s1.bid, s1.Payment
    , (s1.StartInvoice - s1.runningPayment) AS Owed
FROM (
    SELECT a.ID AS aid, a.CustomerID, a.InvoiceVal AS StartInvoice
      , b.ID AS bid, b.Payment
      , ISNULL(SUM(b.Payment) OVER (PARTITION BY a.CustomerID, a.ID ORDER BY b.id),0) AS runningPayment
    FROM TableA a 
    LEFT OUTER JOIN TableB b ON a.ID = b.InvoiceID
) s1
ORDER BY s1.CustomerID, s1.aid, s1.bid

Fiddle демонстрирует переплату или выплату общего остатка за 0 задолженностей.

9
задан Milen A. Radev 14 April 2009 в 08:23
поделиться

2 ответа

Это означает, что было изменение в файле в ответвлении, какая Подверсия пыталась объединиться в ответвление B, но файл не существует в ответвлении B, таким образом, это нигде не должно объединять изменение. Например:

  • Создайте ответвление B
  • Изменение A/README
  • Удалите B/README
  • Объединитесь-> B

Теперь изменение в README не может быть применено в ответвлении B, потому что файл был удален туда.

Править: Это приведет к древовидному конфликту в Подверсии 1.6.

9
ответ дан 4 December 2019 в 20:26
поделиться

Я получал эту ошибку с svn 1.5.4, даже когда не было несовместимых изменений. При обновлении до 1.5.5 проблема у меня была исправлена.

1
ответ дан 4 December 2019 в 20:26
поделиться
Другие вопросы по тегам:

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