Из-за того, что я выполняю левое соединение, которое иногда не доставляет результата, идентификатор моей «первой» таблицы каким-то образом устанавливается в 0. Теперь я хочу дважды выбрать идентификатор , и сделать копию неизменной, чтобы я мог получить к ней доступ даже в случае сбоя соединения.Выделите одну и ту же строку дважды и сделайте копию неизменной
Вот мой запрос:
SELECT * FROM table1
LEFT JOIN table2 ON table1.ID = table2.ID
LEFT JOIN table3 ON table1.ID = table3.ID
Каждая строка в table1 имеет только один и тот же идентификатор в любой table2 или Table3, поэтому для каждой строки, один из этих двух объединений будет «глючить». Вот что я получаю в результате (Mock результат):
+------+------------+------------+------------+------------+------------+------------+
| ID | Table1Col1 | Table1Col2 | Table2Col1 | Table2Col2 | Table3Col1 | Table3Col2 |
+------+------------+------------+------------+------------+------------+------------+
| NULL | Something | Something | NULL | NULL | Something | Something |
| NULL | SomeValue | SomeValue | Something | Something | NULL | NULL |
+------+------------+------------+------------+------------+------------+------------+
То, что я хочу добиться: Keep "ID" от того, NULL.
(Также, выбрав "table1.ID в MyID, *" дает мне SQL Error)
(Выбор значения явно не может быть речи по конструктивным причинам)
Какая ошибка вы можете включить? –
Я думаю, что «неизменный» не является правильным словом, так как '*' просто предоставит одно поле ID, которое может быть неправильным. Предоставление сообщения об ошибке было бы полезным. – Jakumi