我必须遵循子查询
SELECT
(
SELECT SUM( `total_amount` )
FROM `civicrm_contribution`
WHERE `currency` = 'PCT'
AND `contact_id` = ( SELECT `id`FROM `civicrm_contact`
WHERE `first_name` = ''
UNION ALL
SELECT `contact_id` FROM `civicrm_membership`
WHERE `source` = '')
)
-
(
SELECT SUM(`fee_amount`)
FROM `civicrm_participant`
WHERE `fee_level`='puncte'
AND `contact_id` = (SELECT `id` FROM `civicrm_contact`
WHERE `first_name` =''
UNION ALL
SELECT `contact_id` FROM `civicrm_membership`
WHERE `source` = '')
)As RemainingPoints
我不知道如何将结果添加到以下查询
SELECT `civicrm_contact`.first_name,`civicrm_membership`.start_date, `civicrm_membership`.end_date, `civicrm_membership`.source FROM `civicrm_contact`, `civicrm_membership` WHERE `civicrm_contact`.id = `civicrm_membership`.contact_id AND `civicrm_membership`.source =''
UNION ALL
SELECT `civicrm_contact`.first_name,`civicrm_membership`.start_date, `civicrm_membership`.end_date, `civicrm_membership`.source FROM `civicrm_contact`, `civicrm_membership` WHERE `civicrm_contact`.id = `civicrm_membership`.contact_id AND `civicrm_contact`.first_name ='test1'
我希望在查询末尾添加“RemainingPoints”
名字;开始日期;结束日期;来源; “剩余积分”
最佳答案
SELECT *
FROM (SELECT `civicrm_contact`.first_name,`civicrm_membership`.start_date, `civicrm_membership`.end_date, `civicrm_membership`.source FROM `civicrm_contact`, `civicrm_membership` WHERE `civicrm_contact`.id = `civicrm_membership`.contact_id AND `civicrm_membership`.source =''
UNION ALL
SELECT `civicrm_contact`.first_name,`civicrm_membership`.start_date, `civicrm_membership`.end_date, `civicrm_membership`.source FROM `civicrm_contact`, `civicrm_membership` WHERE `civicrm_contact`.id = `civicrm_membership`.contact_id AND `civicrm_contact`.first_name ='test1'
) x
JOIN (SELECT (
SELECT SUM( `total_amount` )
FROM `civicrm_contribution`
WHERE `currency` = 'PCT'
AND `contact_id` = ( SELECT `id`FROM `civicrm_contact`
WHERE `first_name` = ''
UNION ALL
SELECT `contact_id` FROM `civicrm_membership`
WHERE `source` = '')
)
-
(
SELECT SUM(`fee_amount`)
FROM `civicrm_participant`
WHERE `fee_level`='puncte'
AND `contact_id` = (SELECT `id` FROM `civicrm_contact`
WHERE `first_name` =''
UNION ALL
SELECT `contact_id` FROM `civicrm_membership`
WHERE `source` = '')
) As RemainingPoints) y
关于mysql - 将子查询结果添加到查询中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680219/