加入两个都有记录的表

时间:2011-06-23 20:09:32

标签: sql join

我需要使用共享ID连接两个表,但是如果两个表都包含一行,我只想返回一行。我找到了一个带有子查询的解决方案,但是想要避免它们(因为这个查询在页面加载时运行多次)。

一个例子:

`Products`:
Name    PicID
------|-------
Test1 |   4
Test2 |   5


`Images`:
PicID   Picture
------|--------
   4  |  BLOB

查询只会返回Test1(带有blob),因为Test2在图片表中没有行。

思考?
最大

3 个答案:

答案 0 :(得分:5)

INNER JOIN用于保证两个表中都存在匹配值。

SELECT p.PicID, p.Name, i.Picture
    FROM Products p
        INNER JOIN Images i
            ON p.PicID = i.PicID

答案 1 :(得分:2)

SELECT P.Name, P.PicID, I.Picture
FROM Products P
INNER JOIN Images I
ON p.PicID = I.PicID

答案 2 :(得分:1)

Select * 
FROM Products, Images
WHERE Product.PicID = Images.PicID