gpt4 book ai didi

mysql - 如何选择 2 列中的左侧字符等于第二个表中 2 列的所有情况,且等于第二个表中另一列的某个值

转载 作者:行者123 更新时间:2023-11-29 10:31:35 24 4
gpt4 key购买 nike

key 表

key1    key2    ansr      
36 7600 IU-3
36 9500 OPD
01 0100 T3 R
01 0104 T3 L
01 3900 T4 R
03 0202 T3 R

基本表

base1   base2  
367123 7600jjkl
01juty 0202qqrr
018723 3900juyt
03ppot 0202qrt
3674t5 9500qqpp
01y756 0100hutt

我希望能够从base_table返回所有行,其中base1的前2个字符和base2的前4个字符相等连续在一起,并在key_table中给出一些答案。

因此,在 key_table 中将 OPD 匹配为 ansr 的搜索将仅返回 base_table 行:

base1   base2  
3674t5 9500qqpp

虽然在 key_table 中将 T3 R 匹配为 ansr 的搜索将返回 base_table 行:

base1   base2  
01y756 0100hutt
03ppot 0202qrt

我尝试了以下方法,提交时做了个鬼脸,但没有成功:

SELECT * 
FROM `base_table`
WHERE left(`base1`,2) = key1
and left(`base2`,4) = key2 in (SELECT `key1`,`key2` FROM `key_table` WHERE `ansr` = 'R-1')

我认为我可以通过内部连接来完成此操作,但我想知道是否有一种方法可以做到这一点,就像我上面徒劳的尝试一样。

最佳答案

试试这个:

SELECT * FROM base_table WHERE
CONCAT(left(base1,2), left(base2,4))
in (SELECT CONCAT(key1, key2) FROM key_table WHERE ansr = 'OPD')

输出是:

3674t5 9500qqpp   

关于mysql - 如何选择 2 列中的左侧字符等于第二个表中 2 列的所有情况,且等于第二个表中另一列的某个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47314606/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com