2014-01-28 56 views
1

由于子查询返回行和列,因此您可以针对子查询进行连接,就像您可以针对普通表进行连接一样。你怎么能重写这个查询不使用子查询?

SELECT 
    P.ProductCode, I.QuantityInStock as Qty, P.Title, P.Price 
FROM 
    Products as P 
JOIN 
    (SELECT * FROM Inventory) as I on (P.ProductCode = I.ProductCode); 

如何重写此查询,以便它不使用子查询?

我试图重写但我不知道是正确的

SELECT P.ProductCode, I.QuantityInStock as Qty, P.Title, P.Price 
FROM Products as P 
WHERE Inventory as I on (P.ProductCode = I.ProductCode); 

这是正确的吗?

+0

他们是相同的。 –

+0

你在用什么数据库? – bjhaid

回答

0
SELECT P.ProductCode, I.QuantityInStock as Qty, P.Title, P.Price 
FROM Products as P 
JOIN Inventory as I on P.ProductCode = I.ProductCode; 
0

既然你从清单中选择所有列你可以做

SELECT 
    P.ProductCode, I.QuantityInStock as Qty, P.Title, P.Price 
FROM 
    Products as P 
JOIN 
    Inventory I on P.ProductCode = I.ProductCode; 
0
SELECT P.ProductCode, I.QuantityInStock as Qty, P.Title, P.Price 
FROM Products as P, Inventory as I 
WHERE P.ProductCode = I.ProductCode