Heim >Backend-Entwicklung >PHP-Tutorial >Wie konvertiert man dieses SQL zum Schreiben in Laravel ORM?

Wie konvertiert man dieses SQL zum Schreiben in Laravel ORM?

WBOY
WBOYOriginal
2016-08-20 09:04:161051Durchsuche

<code>SELECT
    ea.id,
    ea.name,
    ea.capital_balance,
    ea.total_balance,
    ea.available_balance,
    ea.cashable_balance,
    ea.market_value as old_market_value,
    mv.market_value,
    ea.total_balance + mv.market_value as total_value,
    ea.brokerage_rate,
    ea.state,
    ea.description,
    ea.created_at
FROM
    external_accounts ea,
    (
        SELECT
            c.external_account_id,
            SUM(c.amount) AS market_value
        FROM
            (
                SELECT
                    a.external_account_id,
                    a.total_count * b.price AS amount
                FROM
                    main_inventories a
                JOIN stocks b ON a.stock_code = b.code
            ) AS c
        GROUP BY
            c.external_account_id
    ) AS mv
WHERE
    ea.id = mv.external_account_id
</code>

Hauptsächlich, weil ich nicht weiß, wie man den Sub-Select-Abschnitt schreibt. Der Grund, warum ich ihn in einer SQL schreiben muss, ist, dass er eine Sortierung beinhaltet.

Antwortinhalt:

<code>SELECT
    ea.id,
    ea.name,
    ea.capital_balance,
    ea.total_balance,
    ea.available_balance,
    ea.cashable_balance,
    ea.market_value as old_market_value,
    mv.market_value,
    ea.total_balance + mv.market_value as total_value,
    ea.brokerage_rate,
    ea.state,
    ea.description,
    ea.created_at
FROM
    external_accounts ea,
    (
        SELECT
            c.external_account_id,
            SUM(c.amount) AS market_value
        FROM
            (
                SELECT
                    a.external_account_id,
                    a.total_count * b.price AS amount
                FROM
                    main_inventories a
                JOIN stocks b ON a.stock_code = b.code
            ) AS c
        GROUP BY
            c.external_account_id
    ) AS mv
WHERE
    ea.id = mv.external_account_id
</code>

Hauptsächlich, weil ich nicht weiß, wie man den Sub-Select-Abschnitt schreibt. Der Grund, warum ich ihn in einer SQL schreiben muss, ist, dass er eine Sortierung beinhaltet.

Verknüpfen Sie die Tabellenbeziehungen. Die Algorithmusoperationen in der Abfrage können von PHP ausgeführt werden.

<code>Laravel的关联,可以使用分组,返回字段和聚合函数
</code>

http://www.kancloud.cn/baidu/...

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn