나는 이상한 일을한다. 이것은 아마도 이상한 쿼리를 의미 할 것이다. 기본적으로 내가 지금까지있는 것은이 잘 작동,하지만 난이 쿼리를 변경하려는MySQL IN 절 특수 쿼리
SELECT * FROM locations WHERE name IN ('city1','city2','country1','city3');
. 어떤 식 으로든 city1
을 country1
으로 그룹화하려는 경우, 그 중 하나가 행을 반환하면 (쿼리의 유효한 선택자 임) 다른 하나는 더 이상 실행하지 않아야합니다. 이 쿼리가 작동하지만 city2
및 city3
포함 된 값을 반환, 내가 원하지 않는 것을
SELECT * FROM locations WHERE name IN (('city1' OR 'country1'),'city2','city3');
:처럼 뭔가.
이와 비슷한 것이 가능합니까?
편집 : 더 구체적으로 예를 들면 다음과 같습니다.
array('Bucharest', 'Romania')
array('New York')
array('Barcelona', 'Spain')
:
Bucharest, Romania
New York
Barcelona, Spain
는 이러한 배열의 3 개 세트가 될 것이다 :
나는 (PHP)에, 나는 5에 침입거야 3 개 위치를 가지고
각 지역의 대륙을 조회하고 싶습니다. MySQL에서 IN
절을 사용하여 동일한 쿼리에서 이들 모두를 검색 할 것입니다. 쿼리를 3 행 반환하려면 : Europe
, North America
, Europe
.
그러나 테이블에 없기 때문에 내 검색어에서 Bucharest
에 대한 항목을 찾을 수 없으므로 배열의 다음 단어를 검색하고 싶습니다. Romania
.
희망 사항이 문제를 해결합니다.
이 나에게 의미를하지 않는 것 같습니다. 결과는 부울입니다. 둘의 차이점은 무엇입니까? –
약간의 샘플 데이터를 포함하면 도움이 될 수 있습니다. 당신이 무엇을하려고하는지 완전히 모르겠습니다. –
''1 ','2 ','3 ','4 '와 같이 이름이'1 '이거나 이름이'2 '이거나 이름이'3 '이거나 이름이'4 ' . 당신은 정확히 무엇을 달성하기를 원합니 까? – Matten