表A#
C_ID | C_NAME| C_DATE
-------+-------+--------
100 | ABC | 11/12/16
101 | EFG | 12/12/16
102 | HIJ | 22/12/16
表B
ID | CID | TYPE | PRICE
-----+------+----------------------
201 | 100 | 1 | 10
202 | 100 | 2 | 25
203 | 101 | 1 | 32
204 | 101 | 2 | 22
205 | 102 | 1 | 10
206 | 102 | 2 | 25
表C
ID | UID | CID | TYPE | BID PRICE
-----+-------+--------+------+-----
201 | 1001 | 100 | 1 | 20
202 | 1001 | 101 | 2 | 40
203 | 1001 | 102 | 1 | 50
204 | 1001 | 102 | 2 | 100
205 | 1002 | 101 | 1 | 20
206 | 1002 | 101 | 2 | 40
207 | 1002 | 102 | 1 | 50
208 | 1002 | 102 | 2 | 100
大家好,
我想从表 A 中获取所有行,如果请求的用户(即 1001)在表 C 中有任何条目,则相应的值(即 bid_price) 应该返回,否则 bidprice 应该是空
对于给定的 UID 1001,这将是预期结果
A.C_ID | A.C_NAME| B.C_PRICE_1 | B.C_PRICE_2 | C.C_BID_PRICE_1 | C.C_BID_PRICE_2
-------+---------+--------------+-------------+-----------------+---------------
100 |ABC |10 |25 |20 | null
101 |EFG |32 |22 |null | 40
102 |HIJ |10 |25 |50 |100
其中 B.C_Price 1 为 WHere b.Type = 1,B.C_Price 2 为 WHere b.Type = 2
最佳答案
以下是您想要的吗?
SELECT A.C_ID,A.C_NAME,B.TYPE,B.PRICE,C.BID_PRICE
FROM TABLE_A A, TABLE_B B, TABLE_C C
WHERE A.C_ID = B.CID AND B.CID = C.CID
AND C.UOD = {yourUID};
关于php - MySQL Fetch 在单个查询中连接具有多行的多个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41357383/