Tabelle 1:Sql Gruppe mit sehr großen kommen alternative
Itemid saleid
---------------
53355 23224
33544 33246
53355 33353
43324 33353
Tabelle 2:
Saleid Rebate
--------------
23224 3000
33246 5000
33353 5555
33353 4444
dies ein vereinfachtes Tabelle. Das Problem, das ich habe, ist, dass ich zuerst nach dem itemid gruppieren und dann table2 salleid beitreten möchte. Wenn ich die Gruppe durch salesid selbst mache, gibt sie 100.000 Datenzeilen zurück, was in Ordnung ist, aber wenn ich auch durch die salesid gruppiert werde, komme ich zu Millionen von Zeilen, was es für mich nicht praktikabel macht. Irgendwelche Ideen, wie ich das schaffen kann, damit ich diese Tische verbinden kann? Hier ist eine einfache Abfrage zum Beispiel
So denken Sie daran, die itemid I Gruppe viele Elemente hat können aber saleid ist nicht eindeutig, so dies durch
nach der Gruppe anschließen möchte, die mich zu Millionen von Zeilen bekommen. Wenn es sich nach der Gruppe anschließt, sollten noch 100.000 Datenzeilen vorhanden sein.
select
ta.itemid, ta.saleid, sa.itemid
from
table1 ta
inner join
saleid sa
where
ta.saleitemid = sa.itemid
group by
itemid, saleid
zeigen Sie die tatsächliche Abfrage, aber wahrscheinlich gibt es nichts, was Sie tun können. Sie bekommen genau das, wonach Sie gefragt haben. und beachte, dass du nicht "gruppierst dann beitrittst". Der Beitritt erfolgt FIRST, weil die Gruppierung erst nach Verfügbarkeit aller relevanten Zeilendaten bestimmt werden kann. –
Ich habe oben eine einfache Abfrage zur Verfügung gestellt, wenn das hilft. – penfold255
Kann eine Artikel-ID mit mehr als einer Verkaufs-ID gepaart werden? – kbball