我正在使用sqlite並且有一個語言字典。我想在表格中搜索一次英文匹配,然後再通過匹配外鍵(與日文字符)來查找另一種語言的結果。SQL查詢表2x然後將結果合併爲1列
目前,我可以通過做2個查詢來獲得結果,並有4個獨立的列:文本x2和語言x2。
如何將它們合併爲一列作爲新行?我不認爲SQL的聯盟是我正在尋找的。 我也嘗試做一個選擇內查詢表兩次,但查詢時間從我的筆記本電腦~700毫秒到〜1400毫秒,我打算在移動應用程序中使用它,所以我想保留速度下降。我也希望能夠使用cshart sqlite ORM來獲取這些結果,並將它們放入一個具有語言集合的模型中。
這裏是我試過的樣本查詢(我已經嘗試了一堆)
-- find the Character using the Reading's ChFKEY
select
r.ID,
r.Text,
r.Language,
reading.Text,
rl.Language,
r.ChID,
r.KaID
from
-- first, find a dictionary match for English
(select
r.ID,
r.Text,
rl.Language,
r.ChID,
r.KaID
from Reading r
join ReadingLanguage rl on r.RLID = rl.ID
where r.RLID = 1
and r.Text like 'food%')r
join Reading reading on reading.RLID in (8,9) -- find JapaneseOn, JapaneseKun
join ReadingLanguage rl on reading.RLID = rl.ID --get the language text
and reading.ChID = r.ChID; -- use the character FKey to find matches
,這裏是從上述查詢的樣本結果:
「977」,「食物,魚餌,獵物,誘人的利潤「」英語「」ジ,ニ「」JapaneseOn「」284「」128「
」977「」食物,誘餌,獵物,誘惑利潤「」英語「」え,えば,えさ,もち「」 JapaneseKun「」284「」128「
編輯
這裏是我希望得到的:
「977」「食物,誘餌,獵物,誘人的利潤」「英語」「284」「128」
「977」「え,えば,えさ,もち」「 JapaneseKun」 「284」 「128」
「977」, 「ジ,ニ」 「JapaneseOn」 「284」 「128」
只有一種方法可以使查詢返回一列,通過將它們與CONCAT或||連接起來。取決於你的RDBMS的SQL implmentation。 – ararog 2014-10-01 19:39:15
是否有可能將它們作爲新行? – 2014-10-01 19:42:30
不要這樣想。 – ararog 2014-10-01 20:03:09