[英]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.