根据“喜欢”查询相关数据 陈述

发布于 2024-07-29 01:04:08 字数 388 浏览 2 评论 0原文

我有两个表

Table1: 列 A (varchar)

表 2: ColumnB (varchar)

我需要从 T2 获取所有行,其中 ColumnB “类似于”“ColumnA%”中的任何行。 例如,T1 中的行可能是:

  • Summer09
  • Fall09

,而 T2 中的行可能是

  • Spring09 Com101 Sec1
  • Summer09 Stat400 Sec2
  • Fall09 CS200 Sec3

在这种情况下,它将重新调整 Stat400 和 CS200 行。 有没有办法在单个 SQL 语句中完成此操作?

I have two tables

Table1:
ColumnA (varchar)

Table2:
ColumnB (varchar)

I need to get all rows from T2 where ColumnB is "like" any of the rows from 'ColumnA%'. For example, rows in T1 might be:

  • Summer09
  • Fall09

while rows in T2 might be

  • Spring09 Com101 Sec1
  • Summer09 Stat400 Sec2
  • Fall09 CS200 Sec3

In that scenario it would retun the Stat400 and CS200 rows. Is there a way to do this in a single SQL statement?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

伤痕我心 2024-08-05 01:04:08

SELECT T2.*
FROM T1, T2
WHERE T1.ColumnB LIKE T2.ColumnA + '%'

或者


SELECT T2.*
FROM T1
INNER JOIN T2 ON T1.ColumnB LIKE T2.ColumnA + '%'

可能不会跑得很快。


SELECT T2.*
FROM T1, T2
WHERE T1.ColumnB LIKE T2.ColumnA + '%'

or


SELECT T2.*
FROM T1
INNER JOIN T2 ON T1.ColumnB LIKE T2.ColumnA + '%'

Probably not going to run very fast.

可遇━不可求 2024-08-05 01:04:08

这个问题指出了糟糕的表格设计。我的好朋友 Codd 总是说:不要将多条信息合并到一个列中!

t1 应该拆分,因此学期和/或年份应该是它们自己的列,并带有 t2 表的 FK,其中可以使用索引找到班级信息,而不是缓慢的 LIKE!

this question points to a bad table design. my good friend Codd always said: do not combine multiple pieces of information into a single column!

t1 coulm should be split, so the semester and/or year should be their own column(s) with a FKs to the t2 table where the class info can be found using an index and no a slow LIKE!!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文