سؤال

لديّ حقل واحد أحتاج إلى اختلافه ، يتيح أن نقول عناصر مسماة ولكن يمكن أن يكون هذا الحقل جزءًا من المجموعة A أو B في النهاية ، أحتاج إلى تلخيص جميع العناصر للمجموعة A والمجموعة B

عندما أقول مجمعة، أعني أن هناك صلة خارجية يسارية لجدول آخر، حيث يحتوي الجدول السابق على نوع للعناصر والجدول الذي يتم ضمه يحتوي على مجموعة مخصصة لهذا النوع من العناصر

آسف يا رفاق، أنا جديد بعض الشيء في لغة SQL، وسأحاول تجربة ما قدمتموه لي، وأعود إليكم

حسنًا، أشعر أننا نقترب من بعضنا البعض، ولم نتمكن بعد من جعلهم ينفصلون ولكن المشكلة التي أحتاجها هي جمع المجموعتين في نفس الصف وهو أمر صعب لأن لدي أيضًا العديد من LEFT OUTER JOIN المعنية

يبدو أن تايلر قد ينجح أيضًا، لذا أحاول حل ذلك بسرعة كبيرة

يبدو أن آلان هو الطريق الصحيح ولكن لا بد لي من تعديله أكثر من ذلك بقليل

هل كانت مفيدة؟

المحلول

ربما لا أفهم مدى تعقيد ما تسأل عنه، لكن...ألا ينبغي أن يفعل هذا؟

SELECT groupname, SUM(value)
FROM items
WHERE groupname IN ('a', 'b')
GROUP BY groupname

وإذا كنت لا تهتم إلى أي من العناصر أ أو ب ينتمي إليها هذا فسيفعل ذلك:

SELECT SUM(value)
FROM items
WHERE groupname IN ('a', 'b')

نصائح أخرى

تريد شيئا مثل

SELECT column,SUM( column ) FROM table GROUP BY column

هل هذا (إجابة تايلر) هو ما يعنيه السؤال، أم أنه ببساطة هذا؛

SELECT sum(item), groupingField FROM someTable GROUP BY groupingField

او حتى:

SELECT count(*), item FROM someTable GROUP BY item

والتي سوف تنتج نتائج مثل هذا:

sum(item)    |     groupingField
-------------+-----------------------
 71          |          A
 82          |          B

السائل، ربما يمكنك توضيح ما تقصده أو إذا كنت مبالغا في التبسيط؟

جرب هذا:

SELECT B.[Group], COUNT(*) AS GroupCount
FROM Table1 A
LEFT JOIN Table2 B ON B.ItemType=A.ItemType
GROUP BY B.[Group]
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top