我正在编写SQL查询,并希望通过循环而不是设置操作来解决所有问题。例如,这里有两个表(列表,真的 - 每个一个列); idPrefix是idFull的子集。我想选择每个有我感兴趣的前缀的完整ID;也就是说,idFull中的每一行都有一个idPrefix中的相应条目。
idPrefix.ID idFull.ID
---------- ----------
12 8
15 12
300 12-1-1
12-1-2
15
15-1
300
期望的结果将是idFull中的所有内容,除了值8.超级简单,每个循环使用a,但我不是将其概念化为设置操作。我在下面尝试了一些变化;一切似乎都返回了所有的一个表。我不确定我的问题是关于我如何进行加入,或者我是如何使用LIKE的。
SELECT f.ID
FROM idPrefix AS p
JOIN idFull AS f
ON f.ID LIKE (p.ID + '%')
详细说明:
答案 0 :(得分:3)
您可以使用LIKE
SELECT idFull.ID
FROM idFull full
INNER JOIN idPrefix pre ON full.ID LIKE pre.ID + '%'