كيف يمكنني الحصول على التباديل من العناصر من اثنين الاستعلامات الفرعية في T-SQL؟
-
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
لا تنتمي إلى StackOverflow