1

私はこのようなことをしようとしています:

select * from receipt where branch=:branch AND distinct transactionid

ただし、これは機能せず、すべての結果が表示されます。必要なものと一致し、明確な を持つすべての情報を取得する必要がありますtransaction。そのため、データベース内の各リストに保存されている姓名とすべての情報が含まれている可能性があります。これらの情報はすべて後で使用するためです。

私が持っているとしましょう:

+--------+-----------+----------+-----------------+
| first  |  last     |  item    |  transactionid  |
+--------+-----------+----------+-----------------+
| jack   |  sparrow  |  water   |    1234         |
| jack   |  sparrow  |  food    |    1234         |
| jack   |  sparrow  |  wood    |    1234         |
+--------+-----------+----------+-----------------+

名が jack であるすべてのリスト (それらのいずれか) と、個別のトランザクション ID が必要です...

これもできますか?

4

1 に答える 1

4

これを試して、

SELECT  a.*
FROM    tableName a
        INNER JOIN
        (
            SELECT  transactionID, MIN(item) minItem
            FROM    tableName
            GROUP BY transactionID
        ) b ON a.transactionID = b.transactionID AND
                        a.item = b.minItem
// -- WHERE branch =: branch

編集していただきありがとうございます

サブクエリは何をしますか?

まあ、それは ごとに 1 つのアイテムを取得transactionIDするだけです。その上で使用することもできますMAX

于 2012-11-19T01:24:26.617 に答える