Нужна помощь c MySQL. Есть 2 таблицы
spisok (id, name, id_kat);
kat (id, name, rod);
где id_kat = id(второй таблицы) rod - содержит в себе id записи из второй таблицы и показывает id родительской записи этой же таблицы. Если он сам является род. записью, то там rod=0. Чтобы было белее понятно, пример.
Таблица spisok
id name id_kat
1 Вася 1
2 Петя 4
3 Петя 2
4 Петя 3
Таблица kat
id name rod
1 ххх 0
2 yyy 0
3 zzz 1
4 ccc 1
Используйте конструкцию LEFT JOIN ON.
1 выборка делается так
SELECT * FROM spisok LEFT JOIN kat ON kat.id = spisok.id_kat WHERE kat.rod = 1;
естественно вместо * можно возвращать например spisok.name, kat.name для получения более удобочитаемого вывода.
А вот насчет 2 выборки я вообще не понял логики, единственно что пришло на ум, это добавить условие на id из таблицы spisok, так?
SELECT * FROM spisok LEFT JOIN kat ON kat.id = spisok.id_kat WHERE kat.rod = 1 AND spisok.id = 1;
С точки зрения оптимизации это может не самый правильный запрос, возможно вот этот более правильный, с конструкцией INNER JOIN:
SELECT * FROM spisok INNER JOIN kat ON kat.rod=1 AND kat.id = spisok.id_kat
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Я не могу понять, что такое лимит 1000 строк в БД это у меня будет в HeidiSql видно 1000 строк или как, или если количество пользователей перевалит...