나는 여기서 무슨 일이 일어나고 있는지 잘 모르겠습니다. 나는 MySQL보기를 만들었고 4 개의 다른 표에서 일부 데이터를 가져 왔지만 첫 번째 기록 만 반환하는 것으로 보입니다.SQL보기 만 첫 번째 레코드를 반환합니다.
CREATE OR REPLACE VIEW request_view AS
SELECT
TRequest.id,
TRequest.minutes_required,
TRequest.expires_at,
User.name AS author,
TRequest.abstract_text,
TRequest.full_text,
TGroup.name AS tgroup,
SUM(TOrder.minutes) AS total_minutes
FROM
TRequest
JOIN User ON TRequest.author_id = User.id
LEFT JOIN TGroup ON TRequest.group_id = TGroup.id
LEFT JOIN TOrder ON TRequest.id = TOrder.request_id
ORDER BY TRequest.created_at;
나는이보기에 대해 선택할 때 그것은 단지 첫 번째 레코드 반환합니다
mysql> select id from request_view;
+----+
| id |
+----+
| 1 |
+----+
1 row in set (0.00 sec)
mysql> select id from request_view where id=2;
Empty set (0.00 sec)
내가 ... 내가보기를 모두 돌려받을 수 어쨌든이 30 개 TRequest 행이를 TRequest 기록? 아니면 단순히보기를 잘못 사용하고 있습니까?
TRequest, TGroup 및 TOrder에도 해당 레코드가 몇 행 있습니까? 나는 하나를 걸 겠어. 질문에 모든 표의 내용을 포함시킬 수 있습니까? – JohnFx