본문 바로가기
MySql

MySQL은 WHERE 조건이 여러 행에있는 테이블에서 하나의 필드를 선택합니다.

by 베이스 공부 2020. 10. 25.
반응형

답을 찾으려고했지만 여전히 찾을 수 없습니다. 표는 다음과 같습니다.

그래서 내가 필요한 것은 다음과 같은 것입니다 ..이 테이블에서 (keyword = "display"and value = "15.6") AND (keyword = "harddrive"and value = "320") 또한 하나의 ID (한 행)를 반환해야하는 이러한 키워드 조건이 3 개 또는 4 개있을 가능성이 있습니다.

UNION을 다룰 것이있는 것 같지만 전에는 사용하지 않았기 때문에 알아낼 수 없습니다

미리 감사드립니다

 

해결 방법

 


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가 있음)

 

참조 페이지 https://stackoverflow.com/questions/4559398

 

 

반응형

댓글