如果表2中的列=1,则从表1中选择MySql

如果表2中的列=1,则从表1中选择MySql,mysql,Mysql,如果table2中的一列具有相同标识符和不同列名,并且在特定字段中具有1,我需要从table1返回一列 表1 表2 在本例中,我想从table1中检索item\u code222,其中alt1是888,但前提是alt1是table2中item 我尝试了大量的内联查询和左连接变体,但似乎没有什么能够真正执行任务。写出我尝试过的所有版本都是毫无意义的,因为它们都不起作用,但举个例子: SELECT item_code FROM table1 WHERE alt1 = "888" AND (SE

如果
table2
中的一列具有相同标识符和不同列名,并且在特定字段中具有
1
,我需要从
table1
返回一列

表1

表2

在本例中,我想从
table1
中检索
item\u code
222
,其中
alt1
888
,但前提是
alt1
table2
item

我尝试了大量的内联查询和
左连接
变体,但似乎没有什么能够真正执行任务。写出我尝试过的所有版本都是毫无意义的,因为它们都不起作用,但举个例子:

SELECT item_code FROM table1 WHERE alt1 = "888" 
AND (SELECT item FROM table2 WHERE item = "222" AND alt1 = 1)

上面的例子可能不是我尝试过的最好的例子,但是因为到目前为止没有一个有效,所以这并不重要。非常感谢您的帮助。

您可以使用JOIN子句:

SELECT t1.item_code 
FROM table1 t1
JOIN table2 t2 ON t1.item_code = t2.item AND t2.alt1 = 1
WHERE t1.alt = 888
试试这个

SELECT item_code from table1 INNER JOIN 
table2
ON table1.item_code = table2.item where table2.alt1 = 1 and table1.alt1 = 888
希望这能奏效

SELECT item_code FROM table1 t1 JOIN table2 t2 
       ON t1.item_code = t2.item_code
WHERE t1.alt1 = "888" AND t2.alt1 = 1
?