在我的应用程序中,用户可以选择多个银行。用户可以选择拥有信用卡的多家银行。银行列表在银行表中。用户选择的银行将插入到mobile_user_bank表中。在mobile_user_bank表格中,列为id,mobile_user_id,bank_id。
两个表
银行-保存银行列表
mobile_user_bank-保存用户选择的银行。
我想获得一个json对象,该对象提供一个带有is_selected变量的所有银行列表。
`{
"id": 2,
"bank_name": "HNB",
"image": "bank_hnb.png",
"is_selected": 1
},
{
"id": 3,
"bank_name": "BOC\n",
"image": "bank_boc.png",
"is_selected": 0
},
{
"id": 4,
"bank_name": "People's Bank",
"image": "people.png",
"is_selected": 1
}`
我尝试了此查询,但结果是错误的,没有给出所有库,而是仅用户选择的库正在重复。
SELECT ub.id, ub.name, ub.image FROM banks ub left join mobile_user_banks mub on ub.id = mub.bank_id where mub.mobile_user_id =25;
答案 0 :(得分:1)
使用if条件,查询几乎完成-
SELECT ub.id, ub.name, ub.image, if (mub.bank_id is null, 0 , 1) as is_selected
FROM banks ub
left join mobile_user_banks mub on ub.id = mub.bank_id
and mub.mobile_user_id = 25 ;
https://paiza.io/projects/G7GOjsR03mqygV3fkeL6CA?language=mysql