Есть две вещи, которые я хочу достичь.
Это моя таблица базы данных под названием "таблица".
id | friend
---|--------
1 | null
2 | 1
3 | 0
4 | 3
5 | 3
6 | null
Есть два запроса SELECT, которые я хочуделать.
$id = 3;
SELECT * FROM table WHERE id = $id; // Not sql injection safe, just an example
Это должно выбрать id строки = 3. Если столбец friend
этой строки = 0, то:
SELECT rows WHERE friend = $id.
Если столбец friend
этой строки является чем-токроме 0, затем просто верните эту строку, строку 3. Но , поскольку в моей таблице выше показано, что идентификатор строки 3 friend
column = 0, это в целом должно вернуть строки: 3, 4, 5.
Кроме того, другой сценарий немного отличается:
$id = 5;
SELECT * FROM table WHERE id = $id;
Если столбец friend
этой строки <> (НЕ равен) 0 И НЕ НЕТNULL, затем используйте число friend
и:
SELECT * WHERE id = friend from previous table.
. В этом примере будут возвращены строки 3, 4, 5, потому что ID = 5 и friend
ID 5 равно 3. Таким образом, мыищите столбцы id
AND friend
для 3 и мы выбираем их.
Я хочу объединить все это в один запрос MySQL SELECT.Как я могу это сделать?
Любая помощь будет оценена!