Таблицы данных
Я получил 5 таблиц с определенными значениями:
- Таблица:
tbl_1
+-------+-------+
| nm_id | name |
+-------+-------+
| 1 | name1 |
| 2 | name2 |
| 3 | name3 |
+-------+-------+
Таблица:
tbl_2
+-------+-------+-------+
|post_id| nm_id | post |
+-------+-------+-------+
| 1 | 1 | text1 |
| 2 | 1 | text2 |
| 3 | 2 | text3 |
+-------+-------+-------+
Таблица:
tbl_3
+-------+-------+-------+-------+
|com_id |post_id| nm_id | com |
+-------+-------+-------+-------+
| 1 | 1 | 1 | text1 |
| 2 | 2 | 1 | text2 |
| 3 | 2 | 2 | text3 |
+-------+-------+-------+-------+
Таблица:
tbl_4
+-------+-------+-------+-------+-------+
|com2_id|com_id||post_id| nm_id | com2 |
+-------+-------+-------+-------+-------+
| 1 | 1 | 1 | 1 | text1 |
| 2 | 2 | 2 | 1 | text2 |
| 3 | 1 | 2 | 2 | text3 |
+-------+-------+-------+-------+-------+
Таблица:
tbl_5
+-------+-------+-------+-------+-------+-------+
|rep_id |com2_id|com_id||post_id| nm_id | text |
+-------+-------+-------+-------+-------+-------+
| 1 | null | 1 | 1 | 1 | text1 |
| 2 | null | null | 1 | 1 | text2 |
+-------+-------+-------+-------+-------+-------+
То, что я пытался
Мне нужно получить все значения, но идея состоит в том, чтобы исключить значения из tbl_5
от результата. Пока что я делаю:
- выберите
tbl_2
, затем присоединитесь tbl_1
к nm_id
, затем исключите tbl_5
к post_id
-> 1stVariable
SELECT tbl_2.*, name.tbl_1
FROM tbl_2
INNER JOIN tbl_2 ON tbl_1.nm_id = tbl_2.nm_id
LEFT JOIN tbl_5 ON tbl_2.post_id = tbl_5.post_id
WHERE tbl_2.post_id = *variable* AND tbl_5.rep_id IS NULL
выберите
tbl_3
, затем присоединитесь
tbl_2
к
com_id
, затем присоединитесь
tbl_1
к
nm_id
, исключите
tbl_5
на
com_id
->
2ndVariable SELECT tbl_3.*, name.tbl_1
FROM tbl_3
INNER JOIN tbl_3 ON tbl_1.nm_id = tbl_3.nm_id
LEFT JOIN tbl_5 ON tbl_3.com_id = tbl_5.com_id
WHERE tbl_3.com_id = *variable* AND tbl_5.rep_id IS NULL
выберите
tbl_4
, затем присоединитесь
tbl_1
в
nm_id
исключите
tbl_5
в
com2_id
->
3-я переменная SELECT tbl_4.*, name.tbl_1
FROM tbl_4
INNER JOIN tbl_4 ON tbl_1.nm_id = tbl_4.nm_id
LEFT JOIN tbl_5 ON tbl_4.com2_id = tbl_5.com2_id
WHERE tbl_4.com2_id = *variable* AND tbl_5.rep_id IS NULL
Мой текущий выход JSON
{
post:{...},
com:{...},
com2:{...}
}
Необходим JSON output
В результате my. js становится таким длинным и сложным с тремя разделенными массивами. Я пытался получить все в 1-й переменной, но я не могу понять, как получить массив в массиве:
{
post: {
post_id: "post_id",
name: "name",
com: {
com_id:"com_id",
com:"com",
name:"name",
com2:{
com2_id:"com2_id",
com2:"com2",
name:"name",
}
},
}
}
Я действительно надеюсь, что это понятно. Заранее спасибо.