我有一個包含表xxx_facileforms_forms,xxx_facileforms_records和xxx_facileforms_subrecords的數據庫。來自同一個表的MySQL子查詢
爲xxx_facileforms_subrecords列標題:
id | record | element | title | neame | type | value
至於與元件篩選記錄=「101」 ..query返回適當的記錄,但是當我添加子查詢以從同一個表filete aditional的元素=「4871」 - 返回0條記錄。
SELECT
F.id AS form_id,
R.id AS record_id,
PV.value AS prim_val,
COUNT(PV.value) AS count
FROM
xxx_facileforms_forms AS F
INNER JOIN xxx_facileforms_records AS R ON F.id = R.form
INNER JOIN xxx_facileforms_subrecords AS PV ON R.id = PV.record AND PV.element = '101'
WHERE R.id IN (SELECT record FROM xxx_facileforms_records WHERE record = R.id AND element = '4871')
GROUP BY PV.value
這種妝容合適嗎?
謝謝!
編輯
感謝您的支持和想法!是的,我留下了很多猜測。抱歉。一些輸入/輸出表格數據可能有助於使其更加清晰。
_facileforms_form:
id | formname
---+---------
1 | myform
_facileforms_records:
id | form | submitted
----+------+--------------------
163 | 1 | 2014-06-12 14:18:00
164 | 1 | 2014-06-12 14:19:00
165 | 1 | 2014-06-12 14:20:00
_facileforms_subrecords:
id | record | element | title | name|type | value
-----+--------+---------+--------+-------------+--------
5821 | 163 | 101 | ticket | radio group | flight
5822 | 163 | 4871 | status | select list | canceled
5823 | 164 | 101 | ticket | radio group | flight
5824 | 165 | 101 | ticket | radio group | flight
5825 | 165 | 4871 | status | select list | canceled
成功查詢結果:
form_id | record_id | prim_val | count
1 | 163 | flight | 2
所以我要返回來自那些記錄,其中_subrecord元件值數據(&總和的那些記錄) - 4871的情況下(在這種情況下163和165)。
再次謝謝你!
感謝您的支持和意見!可能是某些輸入/輸出表數據可能有助於您幫助我繪製corect子查詢..? – user2788571
我不確定你需要一個子查詢。我在規範中沒有看到任何讓我相信子查詢或內聯視圖是必需的。 (我懷疑你可能想要一些非常簡單的東西......比如用'element ='101''返回行以及'element ='4193''的行,並且這不需要子查詢 – spencer7593
有了額外的我們可以推薦幾個可能的查詢來返回想要的結果,我已經更新了我的答案,以包含兩個備選方案:使用'EXISTS(相關子查詢)'並使用常規聯接操作 – spencer7593