Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 查询两个没有任何关系的表_Mysql_Sql - Fatal编程技术网

Mysql 查询两个没有任何关系的表

Mysql 查询两个没有任何关系的表,mysql,sql,Mysql,Sql,假设我们有两个表users和products 表用户有一个accountBalance列 表用户模式: userId accountBalance ......... 1 500 ......... 2 45000 ......... 3 4238827 ......... . . ......... . . .........

假设我们有两个表
users
products

用户
有一个accountBalance列

用户
模式:

userId  accountBalance .........
1           500        .........
2           45000      .........
3           4238827    .........
.               .      .........
.               .      .........
.               .      .........
productId   price      .........
1           40000      .........
2           55000      .........
3           90000      .........
.               .      .........
.               .      .........
.               .      .........
产品
有一个价格列

产品
模式:

userId  accountBalance .........
1           500        .........
2           45000      .........
3           4238827    .........
.               .      .........
.               .      .........
.               .      .........
productId   price      .........
1           40000      .........
2           55000      .........
3           90000      .........
.               .      .........
.               .      .........
.               .      .........
这些表没有任何关系,所以我不能用一个公共键连接它们。我想知道的是,找出每个用户可以购买哪些产品,并将其格式化为以下预期结果:

预期结果是:

userId  productIdsUserAffordToBuy
1       NUll
2       1*2
3       1*2*3
.       .
.       .
.       .
使用在单个列中创建列表并根据条件加入
accountBalance>=price
,您实际上可以执行
左加入
(对于负担不起任何费用的用户,必须返回
NULL
,而不是忽略该行):

选择userid、accountbalance、group_concat(productid)作为productfendotobuy
来自用户的交叉连接产品

如果price
交叉连接
没有任何关系或
id
有点棘手

select userid,accountbalance,productid as productaffordtobuy
from users 
cross join products 
where price<=accountbalance
group by userid
选择userid、accountbalance、productid作为productfeventtobuy
来自用户
交叉连接产品

mysql在哪里支持交叉连接?它确实支持交叉连接。但是,我建议用户如果买不起任何东西,我会处理好。因此,在这种情况下,使用左连接更合适。应该问一个更好的问题-您提供的交叉连接是否受mysql支持-上次我阅读文档时支持有限-或者可能我在想一些ElseHnoaks Michael可以发挥魅力的东西