복잡한 쿼리에 도움이 필요합니다. 나는 자동 완성 jquery-ui을 사용하여 일부 사용자를 검색하고 php + mysql을 검색합니다.두 테이블과 regexp를 사용하는 복잡한 sql 쿼리
사용자는 first_name
, last_name
및 email
(requiered 필드)을 워드 프레스/buddypress 페이지에 등록 할 수 있습니다.
그래서, stackoverflow에서 찾을 수있는 예제에서는 regexp를 사용하여 쉽게 검색 할 수 있지만 first_name 또는 last_name 또는 전자 메일로 검색 할 복잡한 쿼리를 만들고 싶습니다.
first_name
및 email
은 wp_users 테이블 last_name
는 wp_bp_xprofile_data 테이블에있다. 내가
first_name
및 email
얻으려면, 이름 등 이메일에 가입하는 사용자 정의 메타을 원하지 않는 쿼리는 다음과 같습니다
SELECT * FROM wp_users WHERE display_name REGEXP '^$param' OR user_email REGEXP '^$param'
및 last_name
드 얻기 쿼리는 다음과 같습니다
SELECT value FROM wp_bp_xprofile_data WHERE field_id = 5 AND user_id = ".$id."
어떻게 혼합 할 수있는이 쿼리 (값은 LAST_NAME의 결과와 $ ID = wp_users.ID입니다)?
우리가 이것을 하나의 테이블처럼 보았다면 : selec * from users where first_name=regexp or last_name=regexp or email=regexp
(근본적으로)이지만, wordpress/buddypress의 복잡한 구조에 의해 나는 이것을 할 수 없다. 도와주세요!!!
예를 들어 사용자가 3 명인 경우 첫 번째 사용자의 이름은 oscar이고 두 번째 사용자의 성은 osbourne이며 검색이 시작되면 세 번째 사용자의 이메일은 [email protected]입니다. 'o'를 입력하면 쿼리가이 3 명의 사용자를 찾습니다.
추신 : 잊어 버렸습니다.하지만 아이디, 이름, 성 및 이메일을 반환해야합니다.
보너스 : 저는 regexp^$ params를 사용하여 시작 문자에서 문자열을 찾습니다. regexp를 사용하면 어디에서나 결과를 찾을 수 있습니다.
에 대한
덕분에이 두 테이블을 조인에서 당신을 방지 무엇인가? – invertedSpear