저는 mySql을 처음 사용하고 있으며 몇 가지 다른 테이블의 데이터를 사용하여 한 열에서 필터링 쿼리를 수행하려고합니다. 예를 들어, 이름표, 스포츠 등급 표 및 운동 표를 가져올 수 있습니다.mysql WHERE XXX = ZZZ 및 XXX = YYY
나는
WHERE beta.sport = 'basketball';
농구에 대한 베타 아이디의 모든 효과적으로 농구를 모든 아이들을 끌어 사용하여이 데이터베이스를 조회 할 수 있습니다. 이제 저는 농구를하고 Lacrosee를하는 모든 아이들을 찾고 싶습니다.
WHERE beta.sport = 'basketball' AND beta.sport = 'lacrosse';
문제는 쿼리가 제대로 실행되지만 결과는 0입니다. 나는 수동으로 내 데이터를보고, 농구와 라크로스를하는 아이들이 있다는 것을 압니다. 농구와 라크로스 게임을하는 아이들을 어떻게 필터링합니까? OR은 라크로스 나 농구를하는 아이들을 돌려줍니다. 나는 단지 둘 다 플레이하는 아이들을 돌려주고 싶다. 스포츠 목록에있는 유일한 액세스 권한은이 하나의 테이블 베타에서 나온다.
표 베타
beta_id - sport ||
1 - basketball ||
2 - lacrosse ||
3 - football ||
4 - basketball ||
조회에 '농구 말한다 WHERE 사용 또는
로 괄호 안에 당신의 상태를 포장에 익숙해 '와 beta.sport ='lacrosse '하지만 다음 문장에서는 "농구와 축구"라고 말합니다. 두 번째 스포츠는 무엇입니까? – rajah9
그 검색어에 라크로스가 있으시면 축구 란 뜻인가요? 기본적으로 AND 또는 OR을 사용하여 선택할 수 있습니다. IN을 볼 수도 있습니다. – ColWhi
Quassnoi를 제외한 모든 사람들이 그 점을 놓쳤습니다. ccdpowell은 간단한 'AND'를 쓸 때 잘못 추측했지만 'OR'은 원하지 않습니다. 물론 Quassnoi의 솔루션은 링크 테이블이 존재하고 적절한 정보를 보유하고 있다고 가정하지만 올바른 접근 방식을 제공하는 것은 지금까지 유일합니다. – anothershrubery