繁体   English   中英

如何从SQLite3中的多个表查询图像

[英]How do I query images from multiple tables in SQLite3

我有一个带有下表的SQlite图像数据库:

CREATE TABLE crowd_labels (mid int, attribute text, label text, primary key (mid, attribute));

CREATE TABLE modules (
    mid int primary key,
    project_id int,
    src text
, mature_content, license);

CREATE TABLE scores (mid int,content_bicycle real, content_cat real, content_tree real, emotion_scary real, media_oilpaint real, content_bird real, content_dog real, emotion_gloomy real, media_3d_graphics real, media_pen_ink real, content_building real, content_flower real, emotion_happy real, media_comic real, media_vectorart real, content_cars real, content_people real, emotion_peaceful real, media_graphite real, media_watercolor real);

我可以分别执行以下查询,但是我想知道如何将它们组合为一个查询:

sqlite3 mydatabase.sqlite <<EOF  > cat_pictures.htm
    select "<img src=""" || src || """ height=200>"
    from modules, crowd_labels where modules.mid = crowd_labels.mid
    and attribute = "content_cat"
    and label="positive"
    limit 100;
EOF

sqlite3 mydatabase.sqlite <<EOF  > watercolor_pictures.htm
    select "<img src=""" || src || """ height=200>"
    from modules, scores where modules.mid = scores.mid
    order by media_watercolor desc limit 0,100;
EOF

第一个查询将通过检查“ crowd_labels”表返回一个包含100张猫图像的html文件,第二个查询将通过检查“得分”表返回100张水彩图像的html文件。

但是,如果我想将两者结合起来,也就是把我既是猫又是水彩的图像交还给我,我该怎么做?

抱歉,如果这是一个非常简单的问题,但是我在SQL方面有0背景经验。

只需加入所有三个表:

SELECT '<img src="' || src || '" height=200>'
FROM modules
JOIN crowd_labels USING (mid)
JOIN scores       USING (mid)
WHERE attribute = 'content_cat'
  AND label     = 'positive'
ORDER BY media_watercolor DESC
LIMIT 100;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM