mysql - SQL : Subquery returns more than 1 row -
hello create application , task found daily closed cashier mount
but have problem in query in mysql when run query pnpmyadmin give me message subquery returns more 1 row
this sql query :
select tblcashieropeningbalance.mount cob, (select tblcashiers.cashiername tblcashiers tblcashiers.cashierid = tblcashieropeningbalance.cashierid ) cashiername , (select tblcashdeposit.mount tblcashdeposit tblcashdeposit.cashierid = tblcashieropeningbalance.cashierid ) cd , (select tblbankcashiertransfer.mount tblbankcashiertransfer tblbankcashiertransfer.cashierid = tblcashieropeningbalance.cashierid ) bct, (select tblsupplierrefund.refund tblsupplierrefund tblsupplierrefund.cashierid = tblcashieropeningbalance.cashierid ) spr, (select tblcustomrefund.refund tblcustomrefund tblcustomrefund.cashierid = tblcashieropeningbalance.cashierid ) cur, (select tblcustomrefund.refund tblcustomrefund tblcustomrefund.cashierid = tblcashieropeningbalance.cashierid ) cur, (select tblcashpayments.mount tblcashpayments tblcashpayments.cashierid = tblcashieropeningbalance.cashierid) cp, (select tblcashiertransfer.mount tblcashiertransfer tblcashiertransfer.fromcashierid = tblcashieropeningbalance.cashierid) ct, (select tblcashiertransfer.mount tblcashiertransfer tblcashiertransfer.tocashierid = tblcashieropeningbalance.cashierid) ct2, (select tblcustomerrefund.refund tblcustomerrefund tblcustomerrefund.cashierid = tblcashieropeningbalance.cashierid) cr, (select tblcashierbanktransfer.mount tblcashierbanktransfer tblcashierbanktransfer.cashierid = tblcashieropeningbalance.cashierid) cbt, (select tblexpenses.mount tblexpenses tblexpenses.cashierid = tblcashieropeningbalance.cashierid) ex, (select tblcustomespayment.mount tblcustomespayment tblcustomespayment.cashierid = tblcashieropeningbalance.cashierid) cusp tblcashieropeningbalance tblcashieropeningbalance.cashierid = '2' , transdate >= '2016-01-01' , transdate <= '2016-02-31' how can fix
when use subquery in sql query, must confirm subquery return 1 record only, example if use query:
select *, (select id internal_table internal_table.id = outer_table.internal_table_id) internal_table_id outer_table; in case must sure query (select id internal_table internal_table.id = outer_table.internal_table_id) return 1 record, if subquery may return more 1 record , isn't issue you, can use limit 1 in subquery, our example:
select *, (select id internal_table internal_table.id = outer_table.internal_table_id limit 1) internal_table_id outer_table;
Comments
Post a Comment