我想返回一個結果集,列出包含第一個作者(按字母順序排列的每本書)列的所有書籍。有多個相關作者,如何在加入表格時只顯示一個
我有一個返回所有的書一個SQL查詢,通過本書作者姓名加入對作者和訂單,但倒下的時候我再嘗試通過羣書ID刪除重複...
SELECT
ct.entry_id AS SKU,
c.channel_title,
ct.title, ct.status,
bat.title AS author_title
FROM exp_store_products sp
JOIN exp_channel_titles ct ON ct.entry_id=sp.entry_id
LEFT JOIN exp_channels c ON c.channel_id=ct.channel_id
LEFT JOIN exp_playa_relationships pl ON pl.parent_entry_id=ct.entry_id
LEFT JOIN exp_channel_titles bat ON bat.entry_id=pl.child_entry_id
WHERE ct.channel_id IN(18,33,43)
ORDER BY bat.title
我將不得不運行子查詢嗎?我寧願不,如果我能避免它,但
我不知所措,爲什麼又說:
GROUP BY ct.entry_id
混亂的事情了......?
你不能只按一列進行分組,並保持原樣。您需要對結果集中您不想彙總的每個列進行分組。 – Luaan 2015-02-24 09:51:13
GROUP BY是一個好主意,將它與MIN(author_name)結合使用。按規則記住常規組:「如果指定了GROUP BY子句,則SELECT列表中的每個列引用都必須標識分組列或作爲set函數的參數。」 – jarlh 2015-02-24 09:51:54