table A
id name Bid Cid Wheretolook
1 aaa 1 0 B
2 bbb 2 0 B
3 bbb 0 1 CTable B
id transactiondetails
1 zzz
2 xxxTable C
id transactiondetails
1 yyy
我这里有 3 个表,表 A 保存两个表表 B 和表 C 的外键。这两个表内部没有我想要得到的相同信息。有没有办法使用 mysql SELECT 语句从表 B 和 C 中选择所有信息来收集所有交易详细信息
最佳答案
SELECT
a.id,
a.name,
COALESCE(b.transactiondetails, c.transactiondetails) AS transactiondetails
FROM TableA a
LEFT JOIN TableB b ON a.Bid = b.id
LEFT JOIN TableC c ON a.Cid = c.id
如果 Bid 和 Cid 中必须有一个 0
,那么 Wheretolook
列似乎就没有必要了。
关于php mysql 在2个表内动态选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25661059/