誰かが助けてくれることを願っています。2つのSELECT文をGROUPとJOINのmysqlと組み合わせる
私は2つの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)
感謝。
フィールド数が異なる場合は使用できません。左結合を使用しようとします。 –
私は2つのステートメントの間に 'LEFT JOIN'を入れますが、喜びはありません。 –