【发布时间】:2020-03-13 10:48:39
【问题描述】:
已排序!!!
我有两张桌子,一张桌子有负责人订阅。第二个表包含每个订阅的产品用户及其详细信息。我在 mysql 中合并两个表,查询工作 100% 正常,但是当我尝试使用 where 条件过滤记录时,它返回所有记录而不过滤。
您可以在下面找到我的查询!
SELECT subscription_products.subscription_id, users.id, users.full_name,
users.company, users.job, users.birthday, users.gender,
users.nric, users.passport_number, users.phone_country_code,
users.phone_number, users.handphone_country_code, users.handphone_number,
users.email, users.nationality, wallets.current_amount,
users.created_at, users.updated_at
FROM subscription_product_users
LEFT JOIN subscription_products
ON subscription_product_users.subscription_product_id = subscription_products.id
LEFT JOIN users
ON subscription_product_users.user_id = users.id
LEFT JOIN wallets
ON users.id = wallets.user_id
UNION
SELECT person_in_charge.subscription_id, person_in_charge.user_id,
users.full_name,
users.company, users.job, users.birthday, users.gender,
users.nric, users.passport_number, users.phone_country_code,
users.phone_number, users.handphone_country_code,
users.handphone_number, users.email, users.nationality, wallets.current_amount,
users.created_at, users.updated_at
FROM person_in_charge
LEFT JOIN users
ON person_in_charge.user_id = users.id
LEFT JOIN wallets
ON person_in_charge.user_id = wallets.user_id
where subscription_id = '1378'
有人可以帮助我吗?
【问题讨论】:
-
在没有看到/了解您的数据的情况下,我们只能猜测这里发生了什么。请包含样本数据以获得最佳结果。
-
where子句仅适用于第二个选择。 -
@Ravi 答案对我有用。谢谢
标签: mysql sql sql-server mysql-workbench