我正在嘗試爲使用MySQL和PHP的公司列表編寫一個簡單的界面。所以,我想從我的數據庫中獲取一些信息。查詢結果中多餘的colomns
這裏是我的表:
- companies_data - 僅適用於系統的信息。
- corporate_data - 這裏我想保留有關大公司的信息。
- individual_data - 在這裏我想保留有關小公司的信息。
所以,這裏是表
這裏是我寫的查詢:
SELECT
a.id,
a.user_id,
a.added,
a.`status`,
a.company_id,
a.company_type,
a.deposit,
a.individual_operations_cache,
a.corporate_operations_cache,
a.physical_operations_cache,
b.full_name,
b.tax_number,
b.address,
b.statement_date,
b.psrn,
c.full_name,
c.tax_number,
c.address,
c.statement_date,
c.psrn
FROM
companies_data a
LEFT OUTER JOIN corporate_data b
ON (a.company_id = b.id) AND a.company_type = 0
LEFT OUTER JOIN individual_data c
ON (a.company_id = c.id) AND a.company_type = 1
WHERE
a.user_id = 3
這只是一個測試的代碼,我將展開不久。
正如你看到的,我已經有了結果有額外的領域,如%FIELD_NAME%1%another_field_name%1等等。當然,這不是mysql錯誤 - 我問過我有 - 但我想刪除這些字段?這是可能的,或者我必須在應用程序端轉換此輸出?
您應該使用聯合而不是第二次聯接。甚至可以更好地將您的表「corporate_data」和「individual_data」合併到一個表中。 – VMai
MySQL本身並沒有這樣做,也沒有MySQL的任何PHP擴展。您必須使用PHP數據訪問庫來添加額外的字段,以便關聯數組鍵(或對象字段)不會相互覆蓋。 –