1

基本问题:如何加入 2 个表以获得以下输出?

Table1:
"type"
red
blue
big
small

===

Table2:
"object"
cat
person
chair

===

Output:
red cat 
blue cat
big cat
small cat
red person
blue person
big person
small person
red chair
blue chair
big chair
small chair
4

4 回答 4

5
SELECT * FROM Table1 CROSS JOIN Table2
于 2012-06-15T18:47:52.693 回答
2
SELECT CONCAT(t1.type,' ',t2.object) as `Output:`
  FROM table1 t1 CROSS JOIN table2 t2

(该关键字CROSS在 mysql 中是可选的,但它确实用于记录您打算使用笛卡尔积,这对于阅读此语句的人来说可能是有用的信息,他们通常希望看到一个连接谓词。

如果您需要按特定顺序返回的结果集,请包含一个ORDER BY子句。按照显示的顺序对其进行排序是一个相对复杂的表达式,但可以做到。

于 2012-06-15T19:19:37.893 回答
1
array_combine(table1, table2);

是更多信息的链接。

于 2012-06-15T18:48:55.487 回答
1

我猜笛卡尔积:

SELECT t1.type, t2.object FROM Table1 t1, Table2 t2
于 2012-06-15T18:49:00.140 回答