簡體   English   中英

如何在MySQL中使用SELECT語句從一個表中獲取數據,並從另一表中覆蓋數據?

[英]How do I take data from one table, and overwrite it from another table, with a SELECT statement in MySQL?

好吧,讓我嘗試解釋這個問題...

我有兩個表: movieitemsmovieitems_custom 它們都有相同的條形碼標題運行時用戶名列

我想要一個查詢或存儲過程,該查詢或存儲過程將從movieitems (以獲取用戶擁有的電影的詳細信息),然后從movieitems_custom提取並覆蓋返回數據(以獲取用戶的自定義數據條目)。

請注意, movieitems_custom並非總是有來自movieitems的匹配條目,只是有時是這樣。


這是一個例子:

用戶的movieitems包含他擁有的用戶'joe'以下兩項:

1234-蝙蝠俠開始-120分鍾

1235-12猴子-97分鍾

movieitems_custom我們可以為他定制的'joe'有一個這樣的條目:

1234-蝙蝠俠1又名蝙蝠俠開始-120分鍾

我想要我的陳述/程序返回的是:

1234-蝙蝠俠1又名蝙蝠俠開始-120分鍾

1235-12猴子-97分鍾


是某種類型的JOIN語句足以實現此目的,還是我正在尋找更復雜的東西?

SELECT
    I.barcode,
    IFNULL(C.title, I.title) AS title,
    I.runtime,
    I.username
FROM
    movieitems I 
        LEFT JOIN movieitems_custom C 
        ON I.barcode = C.barcode AND I.username = C.username

您需要使用COALESCE,您可以在此處閱讀

http://msdn.microsoft.com/en-us/library/ms190349.aspx

基本上,如果有任何NULL,它將讓您指定從何處獲取值。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM