私は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'
私はAS percent_owner_old IFNULL(shares.percent_owner、0)を使用してみましたが、それは動作しませんでした。クエリは結果を返しません。共有テーブルにレコードがない場合、%_owner_old列に "0"を表示させたいと思います。
ありがとうございました。
それはトリックでした。私は左の結合/内部の結合にもっと読む必要があります。ありがとう!! – Progger