문제

데이터베이스의 단일 테이블에 양식 데이터를 삽입하는 데 사용하는 다음 코드가 있습니다.

function insert_interests($uid, $interests) {
/* first, we'll delete any entries this user already has in the table */
    purge_lookup("jss_users_interests_table", $uid);
/* now create the sql insert query */
    global $db;
    $db->query(create_checkbox_query($interests, "jss_users_interests_table", $uid));
}
/* helper function for insert_interests(). removes all rows in $table with $uid */
function purge_lookup($table, $uid) {
    global $db;
    $db->query("DELETE FROM $table WHERE users_id = '".$db->escape($uid)."'");
}
/* helper function for insert_interests(). generates the actual SQL query */
function create_checkbox_query($arr, $table, $uid) {
    $q = "INSERT INTO $table (users_id, subcategories_id) VALUES";
    foreach ($arr as $check) {
    $q .=  " ( '$uid' , $check )" . ",";
    }
/* remove the last comma and return */  
return substr($q, 0, -1);
}`

이 코드의 발 뒤꿈치에서 다른 테이블의 다른 데이터와 쌍을 이루는 동일한 양식 데이터를 사용하여 새 레코드를 다른 테이블에 삽입하고 싶습니다. 두 테이블의 구조는 다음과 같습니다.

jss_users_interests_table

  • user_id
  • subcategories_id

jss_info_requests_table

  • user_id
  • Provider_ID
  • subcategories_id

jss_providers_assignments_table

  • Provider_ID
  • subcategories_id

그래서 데이터를 jss_users_interests_table 각각과 함께 동일한 데이터를 삽입합니다 subcategories_id'sprovider_id ~로부터 jss_provider_assignment_tablejss_info_requests_table. 이해가 되나요? 내가 그것을 쫓아 내고 복잡하게 만들까요?

구문에 대한 도움은 굉장합니다. 감사!

도움이 되었습니까?

해결책

이 SQL은 작동 할 수 있습니다.

 INSERT INTO jss_info_requests_table 
 (users_id, provider_id, subcategories_id)
SELECT a.users_id,
 b.provider_id, b.subcategories_id FROM
 jss_users_interests_table a,
 jss_providers_assignments_table b 
 WHERE a.subcategories_id =
 b.subcategories_id AND a.users_id =
 [USERID]
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top