Thread: Compare the resulta of a count sql into bash
<br />Hello,<br />I have the next :<br /><br />COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor' -d princlocal -p 5432 -h 192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"`<br />COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor' -dprinclocal-p 5432 -h 192.170.1.82 -c "select count(*) from monterrey.$nombre where recibo between '$FI' and '$FF'"<br/><br />I want to compare the result countone with countwo how does it works ? <br /><br /><br /><br />thnks <br/><br /><br /><br />
On Wed, Jan 26, 2011 at 12:07 PM, manuel antonio ochoa <manuel8aalfaro@gmail.com> wrote: > > Hello, > I have the next : > > COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor' -d princlocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"` > COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor' -dprinclocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.$nombre where recibo > between '$FI' and '$FF'" > > I want to compare the result countone with countwo how does it works ? It looks to me like COUNTONE and COUNTWO are going to get the strings returned by psql, i.e. something not terribly helpful like: "count ------- 64 (1 row)". If you were expecting COUNTONE and COUNTWO to hold exit codes, use the $? variable instead. But the exit code of psql isn't what you want, either -- psql simply exits with something like 0 or 1 depending on whether the command(s) succeeded. Of course, you could cook up some script to parse the text returned by psql to figure out the rowcounts, but that's a much greater pain than just implementing whatever you're trying to do in a scripting language using a PostgreSQL database adapter. Josh
On Wed, Jan 26, 2011 at 10:07 AM, manuel antonio ochoa <manuel8aalfaro@gmail.com> wrote: > > Hello, > I have the next : > > COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor' -d princlocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"` > COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor' -dprinclocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.$nombre where recibo > between '$FI' and '$FF'" > > I want to compare the result countone with countwo how does it works ? echo $((COUNTONE-COUNTTWO));
On 2011-01-26, manuel antonio ochoa <manuel8aalfaro@gmail.com> wrote: > --0015174be152ceb275049ac2dc95 > Content-Type: text/plain; charset=ISO-8859-1 > > Hello, > I have the next : > > COUNTONE=`/var/lib/pgsql/bin/./psql -U 'Thor' -d princlocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"` > COUNTTWO=`/var/lib/pgsql/bin/./psql -U 'Thor' -dprinclocal -p 5432 -h > 192.170.1.82 -c "select count(*) from monterrey.$nombre where recibo > between '$FI' and '$FF'" > > I want to compare the result countone with countwo how does it works ? you need -t COUNTONE=`/var/lib/pgsql/bin/./psql -t -U 'Thor' -d princlocal -p 5432 -h 192.170.1.82 -c "select count(*) from monterrey.${NOMBRETB}"` COUNTTWO=`/var/lib/pgsql/bin/./psql -t -U 'Thor' -d princlocal -p 5432 -h 192.170.1.82 -c "select count(*) from monterrey.$nombrewhere recibo between '$FI' and '$FF'"` or like this: CONN="user=Thor database=princlocal port=5432 host=192.170.1.82" PSQL=/var/lib/pgsql/bin/psql COUNTONE=`$PSQL "$CONN" -t -c "select count(*) from monterrey.${NOMBRETB}"` COUNTTWO=`$PSQL "$CONN" -t -c "select count(*) from monterrey.$nombre where recibo between '$FI' and '$FF'"` -- ⚂⚃ 100% natural