プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
3日悩んだのですが、どうにもわからないので
投降させて頂きました。
どうかご指導よろしくお願いいたします。

二つのテーブルがあります
テーブル名(uriage)
uriage_id
syouhin_id
year
1gatu
2gatu
3gatu
4gatu
5gatu
6gatu
7gatu
8gatu
9gatu
10gatu
11gatu
12gatu

テーブル名(syouhin)
syouhin_id
siiresaki

求めたい情報
year │siiresaki │1gatu │2gatu │3gatu……

GROUP BY を使えばよいのかなと思って下記の
SQL文で試してみました。

SELECT year,syuhin_is,1gatu,2gatu…(略)12gatu
FROM uriage,syouhin
WHERE uriage.syouhin_id = syouhin.syouhin_id
GROUP BY siiresaki
ORDER BY syouhin.siiresaki,uriage.year

すると、仕入先でグループ化はされたのですが、
年度まで一緒にグループ化されてしまうのです。

年度ごとの、仕入先でグループ化して、
それぞれの月ごとで加算させるには
どのようにしたら良いのでしょうか・・・?

SUMもいるのだ、と思って下記の文でも
試してみたのですが、こちらはエラーが返ってきました。
SELECT year,siiresaki
SUM(1gatu,2gatu…(略)12gatu)
FROM uriage,syouhin
WHERE uriage.syouhin_id = syouhin.syouhin_id
GROUP BY (year,siiresaki)

どうかご指導よろしくお願いいたします。

教えて!goo グレード

A 回答 (3件)

>SELECT year,siiresaki


>SUM(1gatu,2gatu…(略)12gatu)

sibazukeさんが書かれたのをコピって直したんで気がつきませんでしたが、
siiresaki
のあとにカンマが抜けてますね。
    • good
    • 1
この回答へのお礼

ご指導ありがとうございます。
何度もすみません。
siiresakiの後ろにカンマを付けたのですが、今度は

ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL s
erver version for the right syntax to use near 'FROM uriage,syouhin
WHERE uriage.syouhin_id = syouhin.syouhin_id

と言うエラーが返ってきました。
テーブル名およびカラム名は間違っていない
みたいなのですが、なにが悪いのでしょうか・・・?

何度もすみません。
どうかよろしくお願いいたします。

お礼日時:2005/04/05 13:57

>テーブル名およびカラム名は間違っていない


>みたいなのですが、なにが悪いのでしょうか・・・?

ちょっとわかりませんねぇ。
エラーになったSQL、全部貼り付けていただけませんか?

この回答への補足

こんにちは。
例に挙げさせていただいたテーブルは、必要なカラムのみ
乗せていた状態で、ほかにもたくさんカラムがあるので、
SQL文を載せる為に、例と全く構造のテーブルを作り直して試してみたのです。

すると、すんなりエラーも出ずに表示されました。

実行したいテーブルに問題があるみたいです。
原因はまだわからないのですが、わからないからといって
すぐにお尋ねするのは、勉強している姿勢として
いかがなものかと思いますので、ちょっと探してみます。

私なりに原因を探してみて、それでもわからなかったら
またご指導願えますでしょうかm(__)m

補足日時:2005/04/05 17:53
    • good
    • 0
この回答へのお礼

こんにちは。
表示できるようになりました。
ご指導、本当にありがとうございました。

ミスしていたのはテーブル構造でもなんでもなくって
単にSUM(12gatu), と、最後のSUMの行にコンマが
多かった為でした・・・・_| ̄|○

毎回、コピペではなく、SQLコマンドを指で
覚えようと、手打ちで入力していたのが
災いしたようです。
盆ミスでお騒がせしてしまって、申し訳ありませんでした。

このたびは本当にありがとうございました。

お礼日時:2005/04/06 08:30

>SELECT year,siiresaki


>SUM(1gatu,2gatu…(略)12gatu)
>FROM uriage,syouhin
>WHERE uriage.syouhin_id = syouhin.syouhin_id
>GROUP BY (year,siiresaki)

単純にsumの書き方が間違ってるだけかと。

SELECT year,siiresaki
SUM(1gatu),SUM(2gatu),…(略),SUM(12gatu)
FROM uriage,syouhin
WHERE uriage.syouhin_id = syouhin.syouhin_id
GROUP BY year,siiresaki
    • good
    • 0
この回答へのお礼

taka_tetsuさま
ご指導ありがとうございます。
SUMをご指導いただいた通りに書き直してみたのですが

ERROR 1064: You have an error in your SQL syntax. Check the manual that corresponds to your MySQL s
erver version for the right syntax to use near 'SUM(1gatu),SUM(2gatu),SUM(3gatu),SUM(4gatu)
,SUM(5ga

というエラーが返ってきてしまいました。

環境は
MYSQL4.0
PHP5
を使用しています。

どうかご指導よろしくお願いいたします。

お礼日時:2005/04/05 12:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

教えて!goo グレード

関連するカテゴリからQ&Aを探す


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング