我只是想要一個SQL語句爲GROUP BY
,但我希望它嘗試選擇一行,如果該行可用。我如何分組和「喜歡」一行
例如,我有這樣的說法:
SELECT *
FROM `translations`
WHERE `lang` = "pl" OR `lang` = "en"
GROUP BY `key`
在此聲明,我想選擇所有在lang
爲pl
,並且只得到en
的結果,如果沒有爲相當於pl
沒有結果行。
key
是多個lang
是相同的列。
但是,如果我運行上述語句,所有結果將在lang
爲en
的位置,並且我明白爲什麼這是但它不是我想要的行爲,我不確定如何調整它。
我知道如何以編程方式做到這一點,然而認爲它會更適合SQL。
你說的'GROUP BY'是什麼意思? – Strawberry
添加一個HAVING lang = pl – Mihai
我會以不同的方式構建它,在lang爲'en'的主表和可能匹配lang在'pl'的輔助表之間做一個COALESCE。 – nrathaus