我需要在MySQL中选择多行。我有一个名为'proc_table'的程序,它现在返回3个字段 - oid,objet和db.cars中的1行。查询受限(由我)。
我需要删除该限制并进行查询,这将首先返回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
答案 0 :(得分:2)
如何使用union和LIMIT语句?
select feld1,feld2 from
( select feld1,feld2 from table1 where... LIMIT 1,1
union all
select feld1,feld2 from table2 where....LIMIT 2,1
....
)a LIMIT 5