ここでテーブルをいじる
ユーザーが借用制限に達したかどうかを確認するために、フィドルのテーブルで次のSQLを使用しています。ここでの問題は、無効なアイテム番号が指定された場合は NULL を返し、ユーザーがアイテムを借りていない場合は NULL を返すことです。この方法では、無効なアイテム番号が提供されたのか、それともユーザーが実際に本を借りていないのかを判断できません。無効なアイテム番号が提供されたかどうか、またはメンバーが実際にそのカテゴリで何も借りていないかどうかを確認する良い方法は何ですか?
set @mId = 3 //Has not borrowed anything till now.
set @id = 21; //This item does not appear in the collection_db table and is therefore invalid.
set @country = 'US';
SELECT col1.id, col1.holder, col2.borrowMax maxLimit, count(lend.borrowedId) as `count`
FROM collection_db col1
INNER JOIN collection_db col2
ON col1.holder = col2.id
INNER JOIN lendings lend
ON col1.holder = lend.holder and col1.country = lend.country
WHERE col1.id = @id and col1.country = @country
AND col2.category = 10
AND lend.memId = @mId and lend.country = @country