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

下記の問合せを行うクエリを、PhpMyAdminで作成して実行せよ。

「A,B組の女子の氏名のよみ。苗字と名前を分けて、別フィールドに記すこと。」
SELECT *
FROM `生徒名簿`
WHERE(`クラス`='A組'OR `クラス`='B組')
AND`性別`='女
↑こんな感じですか?
select
substring(`よみ`,1,LOCATE(' ',`よみ`)-1) AS 姓,生徒名簿
substring(`よみ`,LOCATE(' ',`よみ`)+1,length(`よみ`)) AS 名,
`クラス`
from
where
(`クラス` = 'A組' or `クラス` = 'B組')
or
`性別`='女'
それともこう?↑
`氏名``よみ``性別``クラス``学籍番号`'

画像はああなる感じらしいです

「下記の問合せを行うクエリを、PhpMyA」の質問画像

A 回答 (1件)

SUBSTRING関数の第三引数は名前の長さではなく切り出す文字列の長さなので、SUBSTRING(よみ, LOCATE(' ', よみ) + 1, LENGTH(よみ) - LOCATE(' ', よみ))と修正する必要があります。



また、クエリの最後にはテーブル名が欠けているため、正しいクエリを以下に示します。


SELECT
SUBSTRING(`よみ`, 1, LOCATE(' ', `よみ`) - 1) AS 姓,
SUBSTRING(`よみ`, LOCATE(' ', `よみ`) + 1, LENGTH(`よみ`) - LOCATE(' ', `よみ`)) AS 名,
`性別`,
`クラス`,
`学籍番号`
FROM
`生徒名簿`
WHERE
(`クラス` = 'A組' OR `クラス` = 'B組')
AND `性別` = '女'
    • good
    • 2

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

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