0
以下は、レコードを正しく返すストアドプロシージャ内のSQL文です。ただし、MEMBER_IDの値も必要です。これをselectステートメントに追加すると、レコードは返されません。私はCASTとCONVERTを試しましたが、結果はありません。参照のために、フィールドMEMBER_IDは両方のテーブルのキー値です。 INTです。SQL文の問題
SELECT
CONCAT(WEBFSS.MEMBERS.LAST_NAME, ", " ,WEBFSS.MEMBERS.FIRST_NAME) As Name,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _mon THEN WEBFSS.SCHEDULE.QTY END) AS MEALS1,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _mon THEN WEBFSS.SCHEDULE.ENSURE END) AS ENS1,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _tue THEN WEBFSS.SCHEDULE.QTY END) AS MEALS2,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _tue THEN WEBFSS.SCHEDULE.ENSURE END) AS ENS2,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _wed THEN WEBFSS.SCHEDULE.QTY END) AS MEALS3,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _wed THEN WEBFSS.SCHEDULE.ENSURE END) AS ENS3,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _thu THEN WEBFSS.SCHEDULE.QTY END) AS MEALS4,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _thu THEN WEBFSS.SCHEDULE.ENSURE END) AS ENS4,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _fri THEN WEBFSS.SCHEDULE.QTY END) AS MEALS5,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _fri THEN WEBFSS.SCHEDULE.ENSURE END) AS ENS5
FROM WEBFSS.SCHEDULE
INNER JOIN WEBFSS.MEMBERS
ON WEBFSS.SCHEDULE.MEMBER_ID = WEBFSS.MEMBERS.MEMBER_ID
WHERE
(WEBFSS.SCHEDULE.DATE BETWEEN _mon AND _fri)
GROUP BY
WEBFSS.MEMBERS.LAST_NAME, WEBFSS.MEMBERS.FIRST_NAME ;
これは動作しません:
SELECT
SCHEUDLE.MEMBER_ID,
CONCAT(WEBFSS.MEMBERS.LAST_NAME, ", " ,WEBFSS.MEMBERS.FIRST_NAME) As Name,
SUM(CASE WHEN WEBFSS.SCHEDULE.DATE = _mon THEN WEBFSS.SCHEDULE.QTY END) AS MEALS1,
"SCHEUDLE'"?あなたのテーブル名のスペルを間違えたようです。しかし、あなたがこの投稿を書いたときにあなたはそれを間違って入力しただけかもしれません。将来、このような間違いを避けるために、コピー&ペーストを使用してください。 –
エラーが発生した場合は、投稿に完全なエラーメッセージを含めてください。 –