我會嘗試儘可能多地解釋事情。 我有以下查詢來從不同的表中獲取記錄。使用多重連接提取長查詢記錄
SELECT
p.p_name,
p.id,
cat.cat_name,
p.property_type,
p.p_type,
p.address,
c.client_name,
p.price,
GROUP_CONCAT(pr.price) AS c_price,
pd.land_area,
pd.land_area_rp,
p.tagline,
p.map_location,
r.id,
p.status,
co.country_name,
p.`show`,
u.name,
p.created_date,
p.updated_dt,
o.type_id,
p.furnished,
p.expiry_date
FROM
property p
LEFT OUTER JOIN region AS r
ON p.district_id = r.id
LEFT OUTER JOIN country AS co
ON p.country_id = co.country_id
LEFT OUTER JOIN property_category AS cat
ON p.cat_id = cat.id
LEFT OUTER JOIN property_area_details AS pd
ON p.id = pd.property_id
LEFT OUTER JOIN sc_clients AS c
ON p.client_id = c.client_id
LEFT OUTER JOIN admin AS u
ON p.adminid = u.id
LEFT OUTER JOIN sc_property_orientation_type AS o
ON p.orientation_type = o.type_id
LEFT OUTER JOIN property_amenities_details AS pad
ON p.id = pad.property_id
LEFT OUTER JOIN sc_commercial_property_price AS pr
ON p.id = pr.property_id
WHERE p.id > 0
AND (
p.created_date > DATE_SUB(NOW(), INTERVAL 1 YEAR)
OR p.updated_dt > DATE_SUB(NOW(), INTERVAL 1 YEAR)
)
AND p.p_type = 'sale'
一切工作正常,如果我從上面的查詢排除GROUP_CONCAT(pr.price) AS c_price,
。但是當我包含它時,它只是給出了一個結果。我打算在上面使用羣組concat從表sc_commercial_property_price
中獲取與此屬性ID匹配的逗號分隔價格p.id
。如果屬性記錄存在於sc_commercial_property_price
中,則以逗號分隔的形式與其他記錄一起獲取它們。如果不是,它應該返回空白。我在這裏做錯了什麼?
我會試着再解釋一下,如果我的問題不清楚。在此先感謝
感謝隊友,加入'GROUP BY'子句做到了這一招 – WatsMyName