-1
我需要在MySQL中選擇多行。我有一個名爲'proc_table'的過程,它現在返回3個字段 - oid,objet和db.cars中的一行。查詢是有限的(由我)。MySQL選擇前5行(多行)
我需要刪除該限制,並進行查詢,將返回我第5行。如果它們不存在,則不會引用(具有空值的字段)。我在'僞代碼'中做了一些查詢。
問:MySQL中我應該用什麼函數來選擇特定的行?如果它們不存在,如何處理這種情況?
CREATE procedure `proc_table`()
BEGIN
SELECT a.oid as 'oid',
a.objet as 'objet',
-- limited query
(select tab2_oid from db.cars where tab1_oid = a.oid LIMIT 1)
-- limited query
FROM db.tab1 as a;
END$$
僞代碼
-- limited query
(select tab2_oid as 'first_row' from db.cars where tab1_oid = a.oid where row=1)
(select tab2_oid as 'second_row' from db.cars where tab1_oid = a.oid where row=2)
...
-- limited query
我發現了類似LIMIT1,1的東西 - 這會讓我回到第二排 - 它看起來比聯盟容易安靜 - 您怎麼看? – boski
我的問題是你不使用訂單,因此你有未排序的數據,只想抓住任何行。如果你想指定一行使用order by和fitting where子句,或者如果你只想顯示任何行,使用限制函數(如1,1),但通過沒有訂單的訂單將顯示隨機數據 – GBoehm
我會決定這樣做,謝謝你的幫助 – boski