我需要列出horse_id
,horse_name
對於具有放置在頂部3每個horse
(例如是位置1,2或3)兩個或更多個倍。提示:嘗試使用WHERE...IN...
子查詢和獲取數據從兩個表
我敢肯定,我將不得不從HORSE
表,其中包括來自PRIZE
表,其中包括列PLACE
(把馬是horse_id
和horse_name
和數據獲取數據)。但PLACE
表只有列EVENT_id
,Place
和Money
,所以我不知道如何加入它的馬錶。
我需要列出horse_id
,horse_name
對於具有放置在頂部3每個horse
(例如是位置1,2或3)兩個或更多個倍。提示:嘗試使用WHERE...IN...
子查詢和獲取數據從兩個表
我敢肯定,我將不得不從HORSE
表,其中包括來自PRIZE
表,其中包括列PLACE
(把馬是horse_id
和horse_name
和數據獲取數據)。但PLACE
表只有列EVENT_id
,Place
和Money
,所以我不知道如何加入它的馬錶。
因爲您將它發佈到評論中而不是問題中,所以很難確定您的表格和數據,但請嘗試此操作。
select horse.*
from horse
inner join entry
on horse.horse_id = entry.horse_id
where entry.place <= 3
group by horse.horse_id
having count(horse.horse_id) >= 2
嗨。 正在獲取錯誤代碼1054. UNKNOWN COLUMN ENTRY.PLACE IN WHERE CLAUSE。嗯 – JerryMegur
根據你在評論中發佈的內容,條目有一個地方欄。你可以請問所有表中的'show create table'的輸出,在問題中? –
將在兩秒鐘內完成。儘管如此,隨着你發佈的內容,我在哪裏以及如何實施'兩次或更多次'部分?謝謝。 – JerryMegur
SELECT horse_id,name
FROM HORSE
WHERE horse_id IN
(SELECT horse_id
FROM ENTRY
WHERE place <= 3
GROUP BY horse_id
HAVING count(horse_id) > 1);
你能否提供更多的細節在你的三個表請;像字段名稱/類型。 –
應該有更多的表/列你沒有告訴我們。 –
有一個我可以鏈接到的入口表。 ENTRY表列是Event_id,Horse_id,Place。可以以這種方式更好地工作,因爲該表中還有一個horse_id? – JerryMegur