質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

1432閲覧

締め日から集計期間を算出するSQLを、PHP内にて作動させる方法が知りたいです。

hinomar

総合スコア8

SQL

SQL(Structured Query Language)は、リレーショナルデータベース管理システム (RDBMS)のデータベース言語です。大きく分けて、データ定義言語(DDL)、データ操作言語(DML)、データ制御言語(DCL)の3つで構成されており、プログラム上でSQL文を生成して、RDBMSに命令を出し、RDBに必要なデータを格納できます。また、格納したデータを引き出すことも可能です。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2020/12/08 07:39

前提・実現したいこと

見て頂きありがとうございます。
PHP内にて下記SQLを使用したいです。どのように落とし込めば問題なく作動させられるでしょうか?

https://aroundthedistance.hatenadiary.jp/entry/2017/12/26/160751

発生している問題・エラーメッセージ

PHP

1<?php 2 3該当SQL 4 5?>

アップロードするとページが機能しなくなります。
恐らく記述方法から違うのだと思います。

該当のソースコード

SQL

1SELECT 2 billdate, -- 伝票日付 3 duedate, -- 顧客の締日(1〜31) 4 CASE 5 WHEN duedate = 31 THEN DATE_FORMAT(billdate,'%Y年%m月') -- 末締は伝票月=請求月 6 WHEN duedate < 31 AND DAY(billdate) <= duedate THEN DATE_FORMAT(billdate,'%Y年%m月') -- 末締以外で、伝票日 <= 締日なら、伝票月=請求月 7 WHEN duedate < 31 AND DAY(billdate) > duedate THEN DATE_FORMAT(DATE_ADD(billdate, INTERVAL 1 MONTH),'%Y年%m月') -- 末締以外で、伝票日 > 締日なら、伝票月=請求月の翌月 8 END AS monthly 9FROM 10 earnings 11 JOIN customers ON customers.id = earnings.customer_id 12WHERE 13 duedate > 0 14GROUP BY 15 billdate,duedate

試したこと

調べたのですがどのように落とし込むかという部分が引っ掛からず、最初で躓いております。
SQLに関しては全く知識が御座いません。

頓珍漢なことを聞いてしまっているかもしれませんが、お詳しい方、お助け頂ければ幸いです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

K_Y_M

2020/12/08 08:05

先ずは下記の様なサイトを参考に、phpでsqlを実行する方法を調べ 自分でどこまで出来るのかをやった上で、どこで躓いたのかを具体艇に記載して頂いた方が 良いアドバイスを頂けると思いますよ。 https://techacademy.jp/magazine/28302 また、SQLの種類やphpのVer等を記載する事もおススメします。
hinomar

2020/12/08 08:29

アドバイスありがとうございます。 時間が限られているため焦ってしまいました。見てみます。
sazi

2020/12/09 00:26

SQLを流用する場合、環境に合わせて手直し(テーブル名とかカラム名とか)しなければ動作しません。
guest

回答1

0

ベストアンサー

最初から数年分締日と期間の開始日、終了日を紐付けたテーブルを
作っておくのが一番ラクです。

投稿2020/12/08 10:41

yambejp

総合スコア116724

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hinomar

2020/12/09 00:13 編集

そうなのですね。 計算式で出すのではなく、データベースに直接打つことも考えてはいましたので ご意見で迷いが晴れました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問