在多对多关系中创建表之间的连接

时间:2012-04-27 15:56:40

标签: sql sqlite

我有两个表:photos (id,path)tags(id,name)。 表是多对多的关系,所以我有第三个表: photos_tags(photos_id, tags_id)

现在,如何将指定路径的照片与指定名称的标签相关联? 我想做这样的事情:

INSERT INTO photos_tags
  SELECT photos.id, tags.id FROM photos, tags
  WHERE photos.path = '/some/path' AND tags.name = 'tag';

1 个答案:

答案 0 :(得分:2)

insert into photos_tags
(photos_id, tags_id)
select id,
    (
        select id
        from Tags
        where name = 'tag'
        )
from photos
where path = '/some/path'