我有兩個完全不同的列的表。例如:從單獨的表和沒有共同的字段的MySQL結果
A: B:
+-----+-------+------+ +------+------+-------+-------+
| id | price | name | | key | cost | title | color |
+-----+-------+------+ +-----+-------+-------+-------+
| 123 | 10.00 | Boat | | 456 | 12.00 | Ship | red |
+-----+-------+------+ +-----+-------+-------+-------+
| 124 | 8.00 | Car | | 457 | 5.00 | Truck | blue |
+-----+-------+------+ +-----+-------+-------+-------+
我不知道是否有返回維護自己獨立的數據列一個結果集的方式,但投下了一個共同的價值通過訂購的結果。例如,通過訂貨成本/價格:
[1] key = 456 cost = 12.00 title = Ship color = red
[2] id = 123 price = 10.00 name = Boat
[3] id = 124 price = 8.00 name = Car
[4] key = 457 cost = 5.00 title = Truck color = blue
因爲我不想加入,沒有任何公共列的UNION,反正是有做這樣的事情?
編輯:
我要指出,在我的實際情況表包含更多的列。隨着聯盟,這聽起來像我將不得不顯式地映射這些列給對方,這是不完全理想給出的列數...
'UNION'不需要公共列名稱,只是列數相同。你可以在其中一個'UNION'中使用列別名來賦予它們相同的名字,但即使你沒有,你也可以通過'UNION'上半部分的列名來排序。 –
@MichaelBerkowski在我的實際情況中,一個表的列數遠遠少於另一個。我將如何處理這種差異? – HWD
對我來說看起來像是一個'UNION ALL'操作。目前還不清楚結果集究竟應該是什麼樣子,您是否真的需要方括號中的行號,'key =','price ='等。文字?每個查詢只需要返回相同數量的列,並使用相同的數據類型。如果在其中一個查詢中有「缺少」列,則可以在SELECT中添加佔位符文字。 – spencer7593