如果table1
中具有相同标识符且列名不同的列在特定字段中具有table2
,则需要从1
返回一列。
表1
表2
在此示例中,我想从item_code
222
table1
alt1
中检索888
alt1
,但仅当1
为{ {1}} item
中的table2
{/}}。{/}
我尝试了很多内联查询和LEFT JOIN
变体,但似乎没有任何东西能够真正执行任务。写出我试过的所有版本都没有意义,因为它们都没有用,但是一个例子就是:
SELECT item_code FROM table1 WHERE alt1 = "888"
AND (SELECT item FROM table2 WHERE item = "222" AND alt1 = 1)
以上可能不是我尝试过的最好的例子,但由于它们到目前为止都没有工作,所以它并不重要。非常感谢任何帮助。
答案 0 :(得分:5)
试试这个
SELECT item_code from table1 INNER JOIN
table2
ON table1.item_code = table2.item where table2.alt1 = 1 and table1.alt1 = 888
希望这有效。
答案 1 :(得分:3)
您可以使用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
答案 2 :(得分:2)
SELECT item_code FROM table1 t1 JOIN table2 t2
ON t1.item_code = t2.item_code
WHERE t1.alt1 = "888" AND t2.alt1 = 1