SELECT jargons.jargon as jargon,
jargons.description as description,
jargons.example as example,
IF(jargons.rootJargon != 0, (SELECT jargon FROM jargons WHERE id = jargons.rootJargon), NULL) as rootJargonName
FROM jargons
LEFT JOIN users ON users.id = jargons.addedBy
ORDER BY jargons.id DESC
У меня есть две строки внутри таблицы жаргонов:ВЫБРАТЬ внутри IF оператор
"id" "jargon" "description" "example" "rootJargonName" "rootJargon"
"2" "Child" "jd" "1" NULL 1
"1" Root" "sad" "1" NULL 0
Почему rootJargonName
возвращается null
вместо Root
на Child
подряд?
Что я пытался сделать, так это то, что если столбец rootJargon
не равен нулю, тогда выберите строку с идентификатором, указанным в столбце, который не равен нулю.
Попробуйте добавить псевдоним таблицы для обеих ссылок «жаргонов» - возможно, он пытается сравнить «id» и «rootJargon» с той же ссылкой на таблицу. – Siyual