想象一下,我们有像这样的Tbl_Names和Tbl_General_Settings表
Tbl_User
id name surname
1 Ahmet ABC
2 Ali XYZ
3 Selim KLM
Tbl_Global_Settings
id Setting1 Setting2 Setting3 Setting 4
1 on off yes no
我需要一个SELECT查询,显示tbl_user中所有行的一行全局设置:
查询结果应如下所示:
id name surname Setting1 Setting2 Setting3 Setting 4
1 Ahmet ABC on off yes no
2 Ali XYZ on off yes no
3 Selim KLM on off yes no
我该怎么做?感谢..
答案 0 :(得分:2)
在您的示例中,您尝试执行笛卡尔积。
此操作可以在带有CROSS JOIN的MySql(和其他DBMS)中执行,如下所示:
SELECT *
FROM Tbl_User u
CROSS JOIN Tbl_Global_Settings gs
CROSS JOIN(笛卡尔积)取第一个表的每一行,并与第二个表的每一行创建一个链接。在您的示例中,您有3行,因为3(用户)x 1(全局设置)= 3。
如果您有2个全局设置,则结果为6.(3 x 2)
答案 1 :(得分:2)
找到解决方案: SELECT * FROM Tbl_User,Tbl_Global_Settings