簡體   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