sqlite SQL获取具有不同ID的相同值

hzbexzde  于 2023-01-21  发布在  SQLite
关注(0)|答案(1)|浏览(154)

假设我在SQLite中有以下表格:

    • 颜色**:
id INTEGER primary key
name TEXT
brightnes INTEGER
    • 绘画**:
id INTEGER primary key
name TEXT
colors TEXT
material TEXT
    • 油漆**:
color_id foreign key
painting_id foreign key

现在,我想选择所有的绘画,其中的颜色红色和绿色是使用。我该怎么做呢?我想这样的事情:

SELECT name
FROM painting 
WHERE colors.name = 'Green' 
  AND colors.name = 'Red' 
  AND colors.id = paint.color_id 
  AND paint.painting_id = painting.id;

不幸的是,这不是返回我想要得到的。我读了很多关于GROUP BYHAVING的东西,但是我不能把我的想法放在这上面。
有人能帮帮忙吗?
谢谢!

mrwjdhj3

mrwjdhj31#

这两个表之间是如何连接的?如果你有两个独立的表,你应该有主键和外键。
然后,您应该使用内部连接来连接表并获得所需的结果。
您还应该使用where子句
例如:

select * 
from painting 
inner join colors on colorsFkey = colorsId
where colors.name = 'red' or colors.name = 'green'

还可以尝试学习and and or以及表与主键和外键的连接

相关问题