如何在没有公共列的情况下加入2个表?

时间:2012-11-29 07:10:01

标签: mysql select join

我有2张桌子

User Code         SubMenuID

usercol           menucol 
-----------       -------------
AB                Sub-01 
Alam              Sub-02 
CSRL

我想像这样展示他们

usercol           menucol
----------        ------------
AB                Sub-01 
AB                Sub-02 
Alam              Sub-01
Alam              Sub-02 
CSRL              Sub-01 
CSRL              Sub-02

如何使用sql查询获取此信息?这将非常有帮助:))

3 个答案:

答案 0 :(得分:8)

由于表与外键关系无关,因此您无法加入它们 - 您想要的结果是两个表中的笛卡尔积。这是通过从两个表中选择而没有任何其他连接条件(这也称为交叉连接)来实现的:

mysql> SELECT * FROM userCode, SubMenuId;

此查询将第一个表中的所有行与第二个表中的所有行组合在一起。

+---------+---------+
| usercol | menucol |
+---------+---------+
| AB      | Sub-01  |
| AB      | Sub-02  |
| Alam    | Sub-01  |
| Alam    | Sub-02  |
| CSRL    | Sub-01  |
| CSRL    | Sub-02  |
+---------+---------+

答案 1 :(得分:0)

试试这个:

SELECT a.usercol, b.menucol FROM UserCode a JOIN SubMenuID b

答案 2 :(得分:0)

select * from usercode,submenuid
order by usercol;