2017-04-03 88 views
-1

MySQL的新功能,搜索答案,但多個數據庫問題似乎都是關於組合表,這不是我所追求的。MySQL在同一查詢中使用兩個數據庫。不想合併表

在新數據庫中,我複製了舊數據庫中的一個表,其中大多數列但不是全部。

我需要從舊數據庫中獲取客戶編號,其中客戶名稱包含'Co.'以他們的名義。這應該返回大約80行的14個左右的客戶

然後,我需要刪除第二個數據庫中具有這些客戶編號的所有訂單。

這是可能的子查詢?這就是我現在被卡住的地方。

非常感謝。

回答

0

您可以使用多個數據庫的一個查詢工作:

例:

SELECT database1.col1,database2.col2 FROM database1optionsdatabase2。其中database1option_name =「SORT_ORDER」

0

說你從你需要消除你已經在另一個表(problem_log)的Problem領域已經確定重複SO線程(threads_table)的表。

DELETE FROM `threads_table` 
    WHERE `thread_ID` IN 
     (SELECT `Thread_ID` from `problem_log_table` 
     WHERE `Problem`='Duplicate'); 

編輯補充: 這裏有一個辦法做到這一點,如果我正確地瞭解您的需求。 (順便說一句,我認爲離開了桌子這兩個不同的數據庫工作的複雜性。)

DELETE FROM tbl2 
    WHERE tbl2.customer_num IN 
     (SELECT tbl1.customer_num from `tbl1` 
     WHERE tbl1.customer_name LIKE '%Co.%'); 
+0

因此,例如db1.tb1有列CUSTOMER_NUM,CUSTOMER_NAME,COL3,COL4然後在db2.tbl2它有列customer_num,order_num,col3,col4。我需要從db1獲取customer_num,其中customer_name是LIKE'%Co.%',因爲它不在tbl2中。那麼我需要刪除db2中的所有行,其中db2.tbl2.customer_num = db1.tbl1.customer_num。我真的迷失在這裏。甚至不知道我是否有道理。 –

相關問題