我有三张A,B,C表.
我怎样才能将B加入A并同时加入B和C?
例如,如果我有这些表:订单,产品,用户,我想要像这样的查询:
SELECT Product.title, User.username, Order.id
FROM Order
/* relations: */
Order LEFT JOIN Product
Product RIGHT JOIN User
/* with this condition: */
ON Order.ProductID = Product.ID
ON Product.UserID = User.ID
Run Code Online (Sandbox Code Playgroud)
我不确定你要问的是什么,但为了使你的上述语法正常工作,试试这个:
SELECT Product.title, User.username, Order.id
FROM Order
LEFT JOIN Product
ON Order.ProductID = Product.ID
RIGHT JOIN User
ON Product.UserID = User.ID
Run Code Online (Sandbox Code Playgroud)
根据您的预期结果,我更喜欢使用LEFT JOINs
以提高可读性 - 因此,如果您想要所有用户,无论他们是否在产品表或订单表中,那么这将有效:
SELECT U.username, P.title, O.id
FROM User U
LEFT JOIN Product P
ON P.UserId = U.Id
LEFT JOIN Order O
ON O.ProductID = P.ID
Run Code Online (Sandbox Code Playgroud)