我有兩個mysql表。一張表用於「收到的付款」,另一張用於「付款」。這兩個表都有一些常見的字段,但有些與收到的付款有所不同,有一列'badDebt'等等。 這兩個表都有一個日期列。按日期排序mysql中兩個表的記錄
現在我需要從這兩個表中生成一個完整的交易聲明datewise。所以我計劃使用UNDER和ORDERBY。但它不起作用,因爲列的數量需要相同。
在我的情況下列不同。在這種情況下應該做些什麼?
我有兩個mysql表。一張表用於「收到的付款」,另一張用於「付款」。這兩個表都有一些常見的字段,但有些與收到的付款有所不同,有一列'badDebt'等等。 這兩個表都有一個日期列。按日期排序mysql中兩個表的記錄
現在我需要從這兩個表中生成一個完整的交易聲明datewise。所以我計劃使用UNDER和ORDERBY。但它不起作用,因爲列的數量需要相同。
在我的情況下列不同。在這種情況下應該做些什麼?
使用虛擬/佔位符列。
例如
select col1, NULL as col2, col3 from Table1
union all
select col1, col2, Null as col3 from Table2
對缺失的列使用NULL或適當的虛擬值。
的「AS」語句用來給虛擬列的名稱。嚴格地說,我只相信UNION
需求第一SELECT
定義的列名,但我更願意是明確的。
嘗試使用UNION語法。
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2
UNION運算符默認情況下只選擇不同的值。要允許重複值,使用UNION ALL。希望它可以幫助你。
您是否正確地閱讀了該問題?我已經提到過,因爲這兩個表中的列數是不同的。並在工會的列數必須相同。請看米奇小麥的答案。 – beNerd 2013-05-03 08:17:10
請發表您的表的架構和所需的輸出。 – 2013-05-03 06:26:29