Prev: help needed.
Next: Ldap sasl bind(gssapi problem)
From: Aaron Paetznick on 24 Mar 2010 12:05 Many of my MySQL tables have columns with the same name. I want to have PDO include table names in named result sets. For example: $sth = $dbh->prepare("SELECT * FROM table0, table1"); $result = $sth->fetchAll(PDO::FETCH_ASSOC); I want $result to be organized like: echo $result["table0.column0"]; echo $result["table0.column1"]; echo $result["table1.column0"]; echo $result["table1.column1"]; Or, alternatively: echo $result["table0"]["column0"]; echo $result["table0"]["column1"]; echo $result["table1"]["column0"]; echo $result["table1"]["column1"]; Any ideas? Thanks! --Aaron
From: Niel Archer on 24 Mar 2010 12:28 > Many of my MySQL tables have columns with the same name. I want to have > PDO include table names in named result sets. For example: > > $sth = $dbh->prepare("SELECT * FROM table0, table1"); > $result = $sth->fetchAll(PDO::FETCH_ASSOC); > > > I want $result to be organized like: > > echo $result["table0.column0"]; > echo $result["table0.column1"]; > echo $result["table1.column0"]; > echo $result["table1.column1"]; > > > Or, alternatively: > > echo $result["table0"]["column0"]; > echo $result["table0"]["column1"]; > echo $result["table1"]["column0"]; > echo $result["table1"]["column1"]; > > > Any ideas? Thanks! Sounds like you want to UNION two SELECTs http://dev.mysql.com/doc/refman/5.0/en/union.html (SELECT col1, col2, col4 FROM table1 WHERE ... ORDER BY ...) UNION (SELECT col1, col2, col4 FROM table2 WHERE ... ORDER BY ...) > --Aaron > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php -- Niel Archer niel.archer (at) blueyonder.co.uk
From: Richard Quadling on 24 Mar 2010 12:18 On 24 March 2010 16:05, Aaron Paetznick <aaronp(a)critd.com> wrote: > Many of my MySQL tables have columns with the same name. Â I want to have PDO > include table names in named result sets. Â For example: > > Â $sth = $dbh->prepare("SELECT * FROM table0, table1"); > Â $result = $sth->fetchAll(PDO::FETCH_ASSOC); > > > I want $result to be organized like: > > Â echo $result["table0.column0"]; > Â echo $result["table0.column1"]; > Â echo $result["table1.column0"]; > Â echo $result["table1.column1"]; > > > Or, alternatively: > > Â echo $result["table0"]["column0"]; > Â echo $result["table0"]["column1"]; > Â echo $result["table1"]["column0"]; > Â echo $result["table1"]["column1"]; > > > Any ideas? Â Thanks! > > > --Aaron > > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > The data coming from the server dictates the column names, not PDO. If you need to identify the names, then use aliases in the SQL. -- ----- Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling
From: Aaron Paetznick on 24 Mar 2010 14:04 Thanks for the advise. I wanted a more automatic method of prefixing column names, but I ended up just aliasing them all. I know I could always just issue multiple SELECTs, but I wish MySQL would support this sort of functionality natively. I'd really like to reference my results as $result["table0"]["column0"] from a single SELECT. Anyways, thanks all. --Aaron On 3/24/2010 11:28 AM, Niel Archer wrote: >> Many of my MySQL tables have columns with the same name. I want to have >> PDO include table names in named result sets. For example: >> >> $sth = $dbh->prepare("SELECT * FROM table0, table1"); >> $result = $sth->fetchAll(PDO::FETCH_ASSOC); >> >> >> I want $result to be organized like: >> >> echo $result["table0.column0"]; >> echo $result["table0.column1"]; >> echo $result["table1.column0"]; >> echo $result["table1.column1"]; >> >> >> Or, alternatively: >> >> echo $result["table0"]["column0"]; >> echo $result["table0"]["column1"]; >> echo $result["table1"]["column0"]; >> echo $result["table1"]["column1"]; >> >> >> Any ideas? Thanks! > > Sounds like you want to UNION two SELECTs > http://dev.mysql.com/doc/refman/5.0/en/union.html > > (SELECT col1, col2, col4 FROM table1 WHERE ... ORDER BY ...) > UNION > (SELECT col1, col2, col4 FROM table2 WHERE ... ORDER BY ...) > > >> --Aaron >> >> >> -- >> PHP Database Mailing List (http://www.php.net/) >> To unsubscribe, visit: http://www.php.net/unsub.php > > -- > Niel Archer > niel.archer (at) blueyonder.co.uk > > >
From: Richard Quadling on 25 Mar 2010 04:51 On 24 March 2010 18:04, Aaron Paetznick <aaronp(a)critd.com> wrote: > Thanks for the advise. Â I wanted a more automatic method of prefixing column > names, but I ended up just aliasing them all. > > I know I could always just issue multiple SELECTs, but I wish MySQL would > support this sort of functionality natively. Â I'd really like to reference > my results as $result["table0"]["column0"] from a single SELECT. > > Anyways, thanks all. > > > --Aaron > > > On 3/24/2010 11:28 AM, Niel Archer wrote: >>> >>> Many of my MySQL tables have columns with the same name. Â I want to have >>> PDO include table names in named result sets. Â For example: >>> >>> Â Â $sth = $dbh->prepare("SELECT * FROM table0, table1"); >>> Â Â $result = $sth->fetchAll(PDO::FETCH_ASSOC); >>> >>> >>> I want $result to be organized like: >>> >>> Â Â echo $result["table0.column0"]; >>> Â Â echo $result["table0.column1"]; >>> Â Â echo $result["table1.column0"]; >>> Â Â echo $result["table1.column1"]; >>> >>> >>> Or, alternatively: >>> >>> Â Â echo $result["table0"]["column0"]; >>> Â Â echo $result["table0"]["column1"]; >>> Â Â echo $result["table1"]["column0"]; >>> Â Â echo $result["table1"]["column1"]; >>> >>> >>> Any ideas? Â Thanks! >> >> Sounds like you want to UNION two SELECTs >> http://dev.mysql.com/doc/refman/5.0/en/union.html >> >> (SELECT col1, col2, col4 FROM table1 WHERE ... ORDER BY ...) >> UNION >> (SELECT col1, col2, col4 FROM table2 WHERE ... ORDER BY ...) >> >> >>> --Aaron >>> >>> >>> -- >>> PHP Database Mailing List (http://www.php.net/) >>> To unsubscribe, visit: http://www.php.net/unsub.php >> >> -- >> Niel Archer >> niel.archer (at) blueyonder.co.uk >> >> >> > > -- > PHP Database Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > I use MS SQL and have used other DBs. I've never seen the table name as part of the column name in a result set on any of them. -- ----- Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling
|
Pages: 1 Prev: help needed. Next: Ldap sasl bind(gssapi problem) |