簡體   English   中英

MySQL使用UNION從兩個表中選擇相同的字段名稱

[英]MySQL Select same field name from two tables using UNION

我有兩個表,我試圖使用相同的查詢從每個表中提取值。 這是一個自動完成框,用戶可以輸入標題或流派。

我想知道一行是來自items_table還是item_genres_table。 以下不起作用。 它返回兩個表中的所有行,但每行的鍵是item_title,而不是像預期的那樣是item_genre。

SELECT name as item_title FROM items_table 
WHERE name LIKE ? 
UNION
SELECT name as item_genre FROM item_genres_table
WHERE name LIKE ?

我無法控制數據庫字段,所以我在兩個表中都沒有name

為了創建一個聯合,列的名稱必須匹配,如果你想知道每個字段來自哪個表,那么你可以這樣做:

SELECT name as item_name, 'item_table' as table_coming_from FROM items_table 
WHERE name LIKE ? 
UNION
SELECT name as item_name, 'item_genres_table' as table_coming_from FROM item_genres_table
WHERE name LIKE ?

這樣你就會得到這樣的輸出:

name   |  table_coming_from
name1       item_table
name2       item_genres_table
....

暫無
暫無

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

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