這題算是自問自答了,
此題解法給我同事給找出來了
此法用到了 Sub Select
SELECT items.*
FROM items
WHERE (items.name IN
(SELECT MIN(items.name)
FROM items inner join categories on categories.name =
items.category_name
GROUP BY categories.name))
※ 引述《pkwbim (多采多姿)》之銘言:
: 小弟在做案子時遇到的情況,
: 雖然用了笨方法解決掉了,但是仍覺得應該有更好的手法來解這問題,
: 問題是這樣的,有兩張表,一張是存群組資料,一張是存項目資料
: categories items
: =============== ===========================
: category_name category_name | item_name
: =============== ===========================
: A A | a1
: B B | b1
: C A | a2
: D C | c1
: =============== B | b2
: C | c2
: C | c3
: ============================
: 現在,我希望只下一個 SQL (使用的是 PostgreSQL 8.1)指令,
: 就可以拿到每個群組的一個(也只有一個) item
: 如
: ==========================
: category_name | item_name
: ==========================
: A | a1
: B | b1
: C | c1
: ==========================
: 我現在的做法是取得群組後,對每個群組再下一個 SQL 指令來取得該群組的 item
: 不知道有沒有只要下一個 SQL 句子的做法
--
政治是高明的騙術
化妝是高明的易容術
有了Photoshop就不用SK II
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.132.38.129