Oracle SQL оставил внешнее соединение на двух подзапросах

У проекта, который я загрузил из Интернета, нет исполняемого файла в info.plist, который должен быть там, и его значение должно быть этим $ {EXECUTABLE_NAME}. Вместо этого значения оно имеет некоторое другое значение. Поэтому я изменил его $ {EXECUTABLE_NAME} на это значение, затем clean-> build-> успешно выполнил.

1
задан Lyndey 13 July 2018 в 15:45
поделиться

2 ответа

Это не синтаксис LEFT OUTER JOIN, который использует «Табличные выражения». Попробуйте:

select UE_invoice.InvoiceNo,
       UE_invoice.DueDate,
       UE_payment.CheckNo,
       UE_payment.Amount
from (
  select tblTransaction.InvoiceNo,
       tblTransaction.DueDate,
       tblTransaction.CheckNo,
       tblTransaction.Amount
  from tblTransaction,
       tblTransactionType
  where
       tblTransaction.Type = tblTransactionType.TransactionType
    and
      tblTransaction.Date >= '01/01/2018'
    and
    tblTransaction.Type = -86
  ) UE_payment
Left outer join (
  select tblTransaction.InvoiceNo,
       tblTransaction.DueDate
  from tblTransaction,
       tblTransactionType
  where
       tblTransaction.Type = tblTransactionType.TransactionType
    and
       tblTransaction.Date >= '01/01/2018'
    and
    tblTransaction.Type = -88
  ) UE_invoice on UE_invoice.InvoiceNo = UE_payment.InvoiceNo
1
ответ дан The Impaler 17 August 2018 в 12:28
поделиться

Попробуйте заменить

Left outer join UE_invoice on UE_invoice.InvoiceNo = UE_payment.InvoiceNo

на

where UE_invoice.InvoiceNo = UE_payment.InvoiceNo
0
ответ дан Angel 17 August 2018 в 12:28
поделиться
  • 1
  • 2
    будет работать, если условие где: UE_invoice.InvoiceNo = UE_payment.InvoiceNo (+) - использование старого стиля join – BA. 13 July 2018 в 18:11
  • 3
    Ох ... Я помню, что старый стиль нарушает соединение: D Этот знак (+) был потрясающим, и не так много людей знали, как его использовать в начале 90-х! – The Impaler 13 July 2018 в 21:43
Другие вопросы по тегам:

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