我有2個表格:「shares」和「pending_share_changes」。的「股份」表具有以下的列:MySQL ISNULL with INNER JOIN
share_ID, asset_ID, member_ID, percent_owner, is_approved
pending_share_changes具有以下的列:
share_change_ID, asset_ID, member_ID, percent_owner, is_approved, requested_by
我有一個表格(PHP),其列出了成員具有批准或拒絕待更改。除非會員沒有現有股票,否則一切都可以正常工作,這意味着他們在「股票」表中沒有記錄。我使用此查看待處理份額變動的查詢如下:
SELECT p.share_change_ID, assets.asset_desc, assets.asset_value, shares.percent_owner AS
percent_owner_old, p.percent_owner
FROM pending_share_changes as p
inner join assets on assets.asset_ID = p.asset_ID
inner join shares on shares.asset_ID = p.asset_ID AND shares.member_ID = p.member_ID
INNER JOIN orgs ON orgs.org_ID = assets.org_ID
WHERE orgs.org_ID = '$org_ID' AND p.member_ID = '$member_ID' AND p.is_approved = '0'
我嘗試使用IFNULL(shares.percent_owner,0)AS percent_owner_old,但沒有奏效。該查詢不返回任何結果。如果股票表中沒有記錄,我希望percent_owner_old列顯示爲「0」。
謝謝。
這是訣竅。我需要更多地閱讀左連接/內連接。謝謝!! – Progger