كيف يمكنني الحصول على التباديل من العناصر من اثنين الاستعلامات الفرعية في T-SQL؟

StackOverflow https://stackoverflow.com/questions/856770

  •  21-08-2019
  •  | 
  •  

سؤال

ودعونا نقول لدي اثنين من الاستعلامات الفرعية:

SELECT Id AS Id0 FROM Table0

=>

Id0
---
1
2
3

and

SELECT Id AS Id1 FROM Table1

=>


Id1
---
4
5
6

وكيف الجمع بين هذه للحصول على نتيجة الاستعلام:

Id0 Id1
-------
1   4
1   5
1   6
2   4
2   5
2   6
3   4
3   5
3   6
هل كانت مفيدة؟

المحلول

وجرب هذا:

SELECT A.Id0, B.Id1
FROM (SELECT Id AS Id0 FROM Table0) A, 
     (SELECT Id AS Id1 FROM Table1) B

وغريغوار

نصائح أخرى

والديكارتي الانضمام، والانضمام مع عدم وجود شرط الربط

select id0.id as id0, id1.id as id1 
from id0, id1

وبدلا من ذلك يمكنك استخدام CROSS JOIN في بناء الجملة إذا كنت تفضل

select id0.id as id0, id1.id as id1 
from id0 cross join id1

ويمكنك طلب الاستعلام الخاص بك إذا كنت ترغب في ترتيب معين، من المثال الخاص بك يبدو أنك تريد

select id0.id as id0, id1.id as id1
from id0 cross join id1 order by id0.id, id1.id

وSELECT     Table0.Id0،     Table1.Id1 من عند     Table0 كامل تاريخ TABLE1 على     1 = 1

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top