diff --git a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
index 0e5d128..3171ff0 100644
--- a/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
+++ b/erpnext/accounts/report/item_wise_purchase_register/item_wise_purchase_register.py
@@ -125,14 +125,15 @@
 	po_pr_map = frappe._dict()
 	po_item_rows = list(set([d.po_detail for d in item_list]))
 
-	purchase_receipts = frappe.db.sql("""
-		select parent, purchase_order_item
-		from `tabPurchase Receipt Item`
-		where docstatus=1 and purchase_order_item in (%s)
-		group by purchase_order_item, parent
-	""" % (', '.join(['%s']*len(po_item_rows))), tuple(po_item_rows), as_dict=1)
+	if po_item_rows:
+		purchase_receipts = frappe.db.sql("""
+			select parent, purchase_order_item
+			from `tabPurchase Receipt Item`
+			where docstatus=1 and purchase_order_item in (%s)
+			group by purchase_order_item, parent
+		""" % (', '.join(['%s']*len(po_item_rows))), tuple(po_item_rows), as_dict=1)
 
-	for pr in purchase_receipts:
-		po_pr_map.setdefault(pr.po_detail, []).append(pr.parent)
+		for pr in purchase_receipts:
+			po_pr_map.setdefault(pr.po_detail, []).append(pr.parent)
 
 	return po_pr_map
\ No newline at end of file
diff --git a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
index dfcade2..7009d5d 100644
--- a/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
+++ b/erpnext/accounts/report/item_wise_sales_register/item_wise_sales_register.py
@@ -127,15 +127,16 @@
 	so_dn_map = frappe._dict()
 	so_item_rows = list(set([d.so_detail for d in item_list]))
 
-	delivery_notes = frappe.db.sql("""
-		select parent, so_detail
-		from `tabDelivery Note Item`
-		where docstatus=1 and so_detail in (%s)
-		group by so_detail, parent
-	""" % (', '.join(['%s']*len(so_item_rows))), tuple(so_item_rows), as_dict=1)
+	if so_item_rows:
+		delivery_notes = frappe.db.sql("""
+			select parent, so_detail
+			from `tabDelivery Note Item`
+			where docstatus=1 and so_detail in (%s)
+			group by so_detail, parent
+		""" % (', '.join(['%s']*len(so_item_rows))), tuple(so_item_rows), as_dict=1)
 
-	for dn in delivery_notes:
-		so_dn_map.setdefault(dn.so_detail, []).append(dn.parent)
+		for dn in delivery_notes:
+			so_dn_map.setdefault(dn.so_detail, []).append(dn.parent)
 
 	return so_dn_map
 
