由於現有的數據庫模式設計不正確,我必須以特殊方式編寫select語句,如this thread中所示。從平面數據集中的父子表中檢索數據
SELECT MAX(CASE WHEN Name = 'C' THEN RelativePath END) AS C,
MAX(CASE WHEN Name = 'CC' THEN RelativePath END) AS CC,
MAX(CASE WHEN Name = 'S' THEN RelativePath END) AS S,
MAX(CASE WHEN Name = 'SC' THEN RelativePath END) AS SC,
MAX(CASE WHEN Name = 'R' THEN RelativePath END) AS R,
MAX(CASE WHEN Name = 'RC' THEN RelativePath END) AS RC
FROM myTable
WHERE ID = pId;
現在,我需要將其輸出與其父表的select語句連接起來。親子表的結構如下:
Parent
-------------------
id -> the primary key
third_party_id
createdBy
createdDate
...
Child
-------------------
id -> the primary key of its Parent table
Name
...
select語句的我想要的輸出結果是一樣的東西對於一個給定的ID如下:
third_party_id, createdBy, createdDate, C, CC, S, SC, R, RC
子表可能沒有給定父表鍵的條目。我使用左連接選擇語句,但無法獲得所需的結果。數據庫是mySQL。
如果單個select語句不起作用,如何爲輸出構造一個存儲過程?
請編輯您的問題,並提供樣品數據和預期結果。 –