2009-11-25 6 views
10

J'ai deux tables, l'une d'entre elles a des semaines de l'année, et la deuxième table a des catégories. Je dois créer une table qui contient chaque semaine et chaque catégorie, mais il n'y a pas de champs/clés qui se croisent dans deux tables:SQL joindre deux tables sans clés/relations

Tableau 1:

week1 
week2 
week3 
week4 

Tableau 2:

Cat1 
Cat2 

Tableau résultant:

week1 cat1 
week1 cat2 
week2 cat1 
week2 cat2 
... 
week4 cat1 
week4 cat2 

Je voudrais faire ceci sans utiliser beaucoup de curseurs/boucle.

Répondre

30
SELECT * FROM Table1 CROSS JOIN Table2 

Cela vous obtiendrez toutes les combinaisons de toutes les colonnes de Table1 et Table2.

+0

duh! bien sûr. parfois je pense à des moyens plus compliqués pour résoudre des problèmes simples. Merci! – dirol

1

Avez-vous essayé juste

SELECT * FROM table1, table2 
+4

Je ne suis pas un grand fan des jointures implicites. –

+1

@Mark: il s'agit d'une jointure non ANSI. –