누군가 도움을 주길 바랍니다.GROUP 및 JOIN mysql과 두 개의 select 문을 결합
두 개의 mysql select 문이 각각 작동하지만, 이제는 이들을 결합해야합니다.
첫째 :
SELECT $shares.*, $shares_company.name AS name, SUM($shares.number) AS totalNumber, MAX(date) AS lastTransDate, $shares.timestamp AS lastUpdated FROM $shares
INNER JOIN
$shares_company WHERE $shares_company.id = $shares.company_id GROUP BY $shares.company_id
둘째 :
SELECT $shares.price AS lastPrice
FROM $shares WHERE ($shares.company_id,$shares.date) IN
(SELECT $shares.company_id, MAX($shares.date) FROM $shares GROUP BY $shares.company_id)
나는 UNION
과 UNION ALL
, 및 다른 조합의 모든 종류의 시도.
나는 붙어있다!
는UPDATE :
글쎄, 그게 내가 지금 가지고 얼마나 멀리입니다. 이것은 'number'열의 합계를 구해야하고 그걸 쿼리에 삽입 할 위치를 모른다는 것을 제외하고는 모든 올바른 정보를 반환합니다. 삽입하는 쿼리입니다 : 지금이
SELECT
SUM($shares.number) AS totalNumber FROM $shares
GROUP BY $shares.company_id
쿼리는 다음과 같습니다 모든 도움
SELECT $shares.price AS lastPrice,
$shares.date AS lastTransDate,
$shares.company_id,
$shares.id,
$shares.timestamp AS lastUpdated,
$shares_company.name
FROM $shares
INNER JOIN $shares_company
ON $shares_company.id = $shares.company_id
WHERE ($shares.company_id,$shares.date) IN
(SELECT $shares.company_id, MAX($shares.date)
FROM $shares
GROUP BY $shares.company_id)
감사합니다.
필드 수가 다른 경우 캔트 용 유니언입니다. 왼쪽 조인을 사용해보십시오. –
두 문 사이에 'LEFT JOIN'을 넣었지만 기쁨은 없습니다. –