店舗では利用できなくなった(場所1)が表示されるPythonスクリプトを作成しようとしています。倉庫(場所99)。例えば。補充が必要なアイテムのリスト。問題は、店舗のアイテム数を0にする代わりに、在庫管理システムはアイテムをデータベースから完全に削除するだけです。項目には一意のIDはありませんが、シリアル番号である2つの列とアイテムのサイズの列が組み合わされています。1つの列に一意のIDを持たずに、リストにない項目を照会します。
(PostgreSQLの)データベースがこのように見て一つのテーブルinventory
でrestock
である:上記の例で
====================================================================
| serialnumber | size | location | itemcount | season |
--------------------------------------------------------------------
| 1120.10.0369 | 140 | 99 | 8 | 74 |
| 1120.10.0369 | 140 | 1 | 2 | 74 |
| 1120.10.4011 | 170/176 | 99 | 3 | 74 |
| 1120.10.4011 | 170/176 | 1 | 2 | 74 |
| 1120.10.4011 | 86/92 | 99 | 1 | 74 |
| 1120.10.8006 | 158 | 99 | 1 | 74 |
| 1120.10.8006 | 158 | 1 | 2 | 74 |
、シリアル番号1120.10.4011
およびサイズ86/92
有する項目が位置99
(倉庫)で利用可能であるが、シリアル番号が1120.10.4011
、サイズが86/92
の行がありません。場所は1
です。したがって、アイテムを再ストックするためには、アイテムを再ストックする必要があります。私はデータに存在しない項目を表示しようとしている
はGROUP BY
クエリに数を使用してこれを実行します。予想通り
getresult = "SELECT serialnumber, size, location, itemcount, season, COUNT(*)" + \
"FROM inventory " + \
"WHERE season = 74" + \
"AND location != 1" + \
"GROUP BY serialnumber, size " + \
"HAVING COUNT(*) < 1"
しかし、これは動作しません。
質問はまだ立って:
- を、私は、データベースから欠落行でリストを取得するにはどうすればよいですか?私はserialNumberを+サイズは場所99のためにありますが、1の場所に存在しない行でリストを取得するにはどうすればよい
それとも
- ?
LEFT JOINはまだ試しましたか? –