I have a query that throws me an error because it returns more than 1 value "Subquery returned more than 1 value. This is not permitted when the subquery follows =, !=, <, <= , >, >= or when the subquery is used as an expression."
The issue is that I need to know what data is exactly duplicating me, where I am falling.
Is there any SqlServer tool that tells me this information?
QUERY:
SELECT
vij.INVOICEACCOUNT,
(
SELECT
vt.NAME
FROM [MSAXPRODG4].[dbo].[VENDTABLE] AS vt
WHERE vt.ACCOUNTNUM = vij.INVOICEACCOUNT
)AS NOMBRE,
vij.INVOICEID,
vij.LEDGERVOUCHER,
CONVERT(CHAR(10), vij.DOCUMENTDATE, 103) AS FECHA,
vij.DOCUMENTDATE,
(
SELECT
CONVERT(CHAR(10), f.fecha_recepcion, 103)
FROM [Control_Documental].[dbo].[Factura] AS f
WHERE f.rut_proveedor = REPLACE(vij.INVOICEACCOUNT, '-', '')
AND f.numero_documento = vij.INVOICEID
)AS FECHA_RECEPCION_SCD,
(
SELECT
f.fecha_recepcion
FROM [Control_Documental].[dbo].[Factura] AS f
WHERE f.rut_proveedor = REPLACE(vij.INVOICEACCOUNT, '-', '')
AND f.numero_documento = vij.INVOICEID
)AS FECHA_RECEPCION_SCD_ORIGINAL,
SUBSTRING(vij.PAYMENT, 0, LEN(vij.PAYMENT)-0) AS PAYMENT,
CONVERT(INT, vij.INVOICEAMOUNT) AS INVOICEAMOUNT,
(
SELECT
vts.CLOSED
FROM [MSAXPRODG4].[dbo].[VENDTRANS] AS vts
WHERE vts.ACCOUNTNUM = vij.INVOICEACCOUNT
AND vts.INVOICE = vij.INVOICEID
AND vts.VOUCHER = vij.LEDGERVOUCHER
)AS FECHA_PAGO
FROM [MSAXPRODG4].[dbo].[VENDINVOICEJOUR] AS vij
WHERE vij.LEDGERVOUCHER LIKE('FA%')
AND EXISTS(
SELECT
*
FROM [MSAXPRODG4].[dbo].[VENDTRANS] AS vts
WHERE vts.ACCOUNTNUM = vij.INVOICEACCOUNT
AND vts.INVOICE = vij.INVOICEID
AND vts.VOUCHER = vij.LEDGERVOUCHER
AND vts.CLOSED = '1900-01-01'
)
AND LEN(PAYMENT) > 0
AND PAYMENT NOT IN('TC', 'CO')
AND CONVERT(CHAR(10), vij.DOCUMENTDATE, 103) = '15/09/2017'