试图找到答案,但仍然不能......表格如下:
id, keyword, value 1 display 15.6 1 harddrive 320 1 ram 3
所以我需要的是这样的..从这张表中选择(keyword="display" and value="15.6") AND (keyword="harddrive" and value="320")
还有可能会有3或4个这样的关键字条件导致返回一个id(一行)
似乎有一些东西需要与UNION打交道,但之前我没有使用它,所以我无法弄明白
提前致谢
答案 0 :(得分:3)
这是一个relational division问题。像下面这样的东西应该这样做。
SELECT id
FROM your_table
WHERE
(keyword="display" and value="15.6") OR (keyword="harddrive" and value="320")
GROUP BY id
HAVING COUNT(*) = 2
我假设您的表具有适当的约束,因此不可能存在完全重复的行。 (例如id, keyword
上有PK)
答案 1 :(得分:0)
SELECT DISTINCT id FROM table
WHERE
(keyword="display" and value=15.6) OR (keyword="harddrive" and value=320)