繁体   English   中英

SQL Server查询以从具有多个条件的两个表中检索数据

[英]SQL Server query to retrieve data from two tables with multiple conditions

我有两个表Table1Table2

Table1包含以下列

  • 日期
  • u_id
  • t_id
  • col_t1_a
  • col_t1_b
  • col_t1_c

并且Table2包含以下列

  • 日期
  • ux_id
  • tx_id
  • col_t2_a
  • col_t2_b
  • col_t2_c

Table1.u_id是Table2.ux_id和Table1.t_id = Table2.tx_uid的子字符串。

当满足以下所有条件时,我试图从Table2中获取所有列(col_t2_c)

  • Table1.t_id = Table2.tc_uid和
  • substring(Table2.ux_id,7,6)= Table1.u_id和
  • Table1.date = Table2.date ='yymmdd'和
  • Table1.col_t1_a ='A'和
  • Table1.col_t1_b ='B'和
  • Table1.col_t1_c ='C'

我需要一些帮助编写SQL Server 2008查询来实现上述目的。

任何帮助将不胜感激。

试试这个查询:

SELECT * 
FROM Table2 T2
INNER JOIN
    Table1 T1 ON T1.t_id = T2.tx_uid
    AND T1.u_id = substring(t2.ux_id, 7, 6)
    AND T1.[Date] = T2.[Date]
WHERE
    T1.[date] = 'date'
    AND T1.col_t1_a = 'A'
    AND T1.col_t1_b = 'B'
    AND t1.col_t1_c = 'C'

您的所有条件均已写入。 只需将它们查询:

SELECT t2.col_t2_c
FROM Table2 t2
INNER JOIN Table1 t1
    ON t1.t_id = t2.tc_uid and 
        substring(t2.ux_id,7,6) = t1.u_id and
        t1.date = t2.date
WHERE   
        t2.date = 'yymmdd' and 
        t1.col_t1_a = 'A' and
        t1.col_t1_b = 'B' and
        t1.col_t1_c = 'C'
SELECT * 
FROM Table1 t1, Table2 t2
WHERE t1.t_id = t2.tx_uid 
AND t1.u_id = substring(t2.ux_id,7,6)
AND t1.date = t2.date
AND t2.date = 'yymmdd'
AND t1.col_t1_a = 'A'
AND t1.col_t1_b = 'B'
AND t1.col_t1_c = 'C'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM