Mysql 至少有两张桌子

Mysql 至少有两张桌子,mysql,sql,Mysql,Sql,我试图从两个表中获取最小值,一个返回值 以下mysql结构+数据: 表\u主文件 表3.1.1.1.1.1.1.1变体 使用此查询: SELECT table_master.Amount, table_variants.Amount FROM table_master LEFT JOIN table_variants ON table_master.ID = table_variants.table_master_ID WHERE table_master.ID = 1 我得到这样的东西

我试图从两个表中获取最小值,一个返回值

以下mysql结构+数据:

表\u主文件

表3.1.1.1.1.1.1.1变体

使用此查询:

SELECT table_master.Amount, table_variants.Amount 
FROM table_master 
LEFT JOIN table_variants ON table_master.ID = table_variants.table_master_ID 
WHERE table_master.ID = 1
我得到这样的东西:

5.8 | 4.11
5.8 | 
5.8 | 5.12
...
现在我需要两个表的minamount值。 表\u主数据的ID是唯一的,表\u变体中的数据是可选的

我该怎么做?我试着用这个案子,但没有成功

有什么提示吗

蒂亚

试一试

试一试


您可以使用UNION来实现这一点:

SELECT  "min from table1", MIN( Amount ) FROM table_master
UNION 
SELECT  "min from table2", MIN( Amount ) FROM table_variants

您可以使用UNION来实现这一点:

SELECT  "min from table1", MIN( Amount ) FROM table_master
UNION 
SELECT  "min from table2", MIN( Amount ) FROM table_variants
试试这个-

SELECT LEAST(MIN(a.amount), MIN(b.value)) 
FROM table_master a, table_variants b
WHERE a.id = b.table_master_ID
AND a.id = 1;
试试这个-

SELECT LEAST(MIN(a.amount), MIN(b.value)) 
FROM table_master a, table_variants b
WHERE a.id = b.table_master_ID
AND a.id = 1;

您是否尝试在select语句中对两个结果都使用min…???您是否尝试在select语句中对两个结果都使用min…???您忘了他要的是ID=1的结果您忘了他要的是ID=1的结果装载量必须是CASTAMOUNT未签名的,并且在哪里必须是那样的,以及数量!=CASTAMOUNT作为UNSIGNED可能是错误的方式,这可能会导致计算错误,因为它忽略了数字的非整数部分。没有它你会得到什么结果?我收到一个空值或一个错误的值。没有将其强制为未签名。数据类型是VARCHAR。。。别问我为什么^^^还有一个问题:如何在同一查询中获取MINAmount的ordernumber?。。。我试图造币。Amount,t。Ordernumber,但这是错误的。让我们看看Amount必须是castmount作为未签名的,在哪里必须是那样的,Amount!=CASTAMOUNT作为UNSIGNED可能是错误的方式,这可能会导致计算错误,因为它忽略了数字的非整数部分。没有它你会得到什么结果?我收到一个空值或一个错误的值。没有将其强制为未签名。数据类型是VARCHAR。。。别问我为什么^^^还有一个问题:如何在同一查询中获取MINAmount的ordernumber?。。。我试着造币。金额,t。订单号,但它错了。让我们
SELECT MIN( CASE WHEN table_master.Amount<= table_variants.Amount AND table_variants.Amount IS NULL THEN table_master.Amount ELSE table_variants.Amount END) 
FROM table_master 
LEFT JOIN table_variants ON table_master.ID = table_variants.table_master_ID 
WHERE table_master.ID = 1
SELECT  "min from table1", MIN( Amount ) FROM table_master
UNION 
SELECT  "min from table2", MIN( Amount ) FROM table_variants
SELECT LEAST(MIN(a.amount), MIN(b.value)) 
FROM table_master a, table_variants b
WHERE a.id = b.table_master_ID
AND a.id = 1;