通过id连接表数据

时间:2012-03-19 20:13:42

标签: sql join

节点

id title content type
47 test  foobar  1

id name
1  blog

输出

id title content type
47 test  foobar  blog

使用以下查询似乎无法正常工作......

 SELECT a.id, a.title, a.content, a.type
        FROM node a
        WHERE a.id = '. $id .'
        JOIN type b
        ON 
            a.type = b.id

我应该如何编写此查询以获取我想要的输出?

3 个答案:

答案 0 :(得分:3)

你快到了。您只需要将WHERE条件置于最后

    SELECT a.id, a.title, a.content, a.type
    FROM   node a
           JOIN type b ON a.type = b.id
    WHERE  a.id = '. $id .'

一个评论和个人偏好,但我想明确指出JOIN类型,以消除维护代码的人的任何疑虑。

    SELECT a.id, a.title, a.content, a.type
    FROM   node a
           INNER JOIN type b ON a.type = b.id
    WHERE  a.id = '. $id .'

答案 1 :(得分:1)

SELECT A.id,A.title,A.content,B.name as type
FROM node A,type B
WHERE A.id=B.id
  AND A.id='. $id .';

答案 2 :(得分:1)

SELECT a.id, a.title, a.content, b.name as `type`
FROM node a
INNER JOIN type b
ON a.type = b.id
WHERE a.id = '. $id .'