2011-04-05 104 views
2

我正在使用ExtJS 3.0網格,並使用MySQL從PHP生成數據。我已經在id列中設置了我的網格idProperty。問題是我有兩張表用於傳入發票,另一張用於具有相同列的傳出發票。我想在這兩個表上創建一個UNION ALL,並將結果顯示到ExtJS網格中。問題是有一些重複的id從這些表中出來,導致ExtJS網格跳過它們的行。我知道我可以做簡單的UNION來跳過重複,但我需要網格中的每一行,即使它們具有相同的ID。實際上我沒有可以涉及的獨特數據。MySQL聯合所有ExtJS網格 - 需要唯一的ID列

任何想法?謝謝。

回答

5

爲什麼當SELECT荷蘭國際集團的數據有些前綴不添加到ID列:

(SELECT CONCAT('in-', id) AS id, ... FROM in_table) 
UNION ALL 
(SELECT CONCAT('out-', id) AS id, ... FROM out_table) 

你必須確保該場定義爲你的讀者的配置id已場內有正確的類型(在這種情況下爲autostring)。

如果你需要真正的id之後,更改查詢,選擇真正id還有:

(SELECT CONCAT('in-', id) AS gid, id, 'in' AS type ... FROM in_table) 
UNION ALL 
(SELECT CONCAT('out-', id) AS gid, id, 'out' AS type, ... FROM out_table) 

idPropertygid現在。

1

我相信id在ExtJS中是可選的。如果將它關閉,網格將爲每一行計算其自己的唯一ID。