Мне нужно выбрать несколько строк в MySQL. У меня есть процедура, называемая «proc_table», которая возвращает мне теперь 3 поля - oid, objet и 1 строку из 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
Я нашел что-то вроде LIMIT 1, 1 - который вернет мне 2-й ряд - это выглядит спокойнее, чем объединение - что вы думаете? – boski
моя проблема в том, что вы не используете заказ, так что у вас есть несортированные данные и просто хотите поймать любую строку. если вы хотите указать строку, используйте порядок и опцию where where, или если вы просто хотите отображать любые строки, используйте функцию ограничения (например, 1,1), но с порядком без заказа вы будете отображать случайные данные – GBoehm
Я решу сделать это таким образом, спасибо за помощь – boski