池袋にあるホームページ制作・システム開発会社のブログです。nikky.えっと、結構ちゃんと正規化してるテーブル構成だといろんなところに派生しちゃってある項目は複数返ってきちゃって・・・でも一行に表示しなくちゃいけなくて・・・みたいなときにやっちゃう技。MySQL版は意外に簡単ですね。以前、Oracleでやったことがあるんですが、無理やりっちゅう感じです。XMLにして文字列操作してゴニョゴニョ・・・・でも、覚えていて損はないSQLです。投稿者:isc_blogPHP+PostgreSQL(8.2.4)用に開発したアプリケーションをPHP+MySQL(5.1.22)に移植しようとした際に引っかかった点を書き残しておきます。いう感じのスキルです。今回、PHP+PostgreSQLでの開発だったのですがPostgreSQLが大得意な方ならもっとこう違った書き方があるじゃん!という書き方をしていない前提です。普段MySQL向けのSQLを書くことが多い方がPostgreSQLを使用する場合の注意点と言ってもいいかもしれません。データ投入日付が10日以内のデータを表示する・・・みたいなSQL文です。NOW()[/sql]こんな感じになります。こんな感じのSQLが多いと大変ですね。100,10[/sql]で100件目から10件抽出になります。MySQL5以降の場合実はPostgreSQLから継承した書き方も出来ます。100[/sql]これも同じです。(10件中抽出、100件目から。100[/sql]が書けるのに対し、MySQLでは「limit」を書かずに「offset」を書くことが出来ないため同じSQLは書けません。※実際に試してNGだったのと、いろいろ調べましたがどの文献も「limit」の限界ありきのものしかなく「offset」の使用に関しても「limit」ありきな見解だったので「出来ない」と思っています。なにか手は無いものでしょうか。※まぁ、Oracleならもっと複雑に書くべきところなので仕方ないですね。SERIAL[/sql]となります。今回あまり複雑なSQLを書いていないのでこのくらいです。池袋のアイ・エス・シーが運営しているブログです。ホームページ制作・システム開発のご依頼はアイ・エス・シーにお任せください!お電話またはお問い合わせフォームからお気軽にお問合せ下さい。