0

我已经拉了几个小时的头发,最后我来SO发布这个问题。我读了很多问题,但似乎没有发生任何事情。

表格1

a1
a2
a3 <-- linked with b3
a4

表 2

b1
b2
b3  <-- linked with c3

表3

c1
c2
c3  <-- linked with d3

表 4

d1
d2
d3 
d4

显示条件的列:-

列:a1 条件:“2013-9-13”和“2013-9-14”之间

列:a2 条件:a2 == '2'

列:a3 条件:仅那些 d3 的值为 1、2、3 或 4 的结果

我有一个像“1,2,3,4”这样的PHP字符串。如果 d3 是任何逗号分隔值,则应选择它。还请告诉我如何为此目的使用 PHP 字符串。在 Oracle 中,我曾经使用像

'1' IN ('1','2','3')

它用来解决问题。但是在Mysql中我很困惑。

只有满足所有条件的行才应显示。

谢谢

(注意:该问题需要完整的 SQL 查询。)

4

1 回答 1

1

我将从这个开始:

SELECT
    *
FROM
    Table1 AS T1
    INNER JOIN Table2 AS T2 ON T1.A3 = T2.B3
    INNER JOIN Table3 AS T3 ON T2.B3 = T3.C3
    INNER JOIN Table4 AS T4 ON T3.C3 = T4.D3
WHERE
        T1.A1 BETWEEN '2013-09-13' AND '2013-09-14'
    AND T1.A2 = '2'
    AND T4.D3 IN (1, 2, 3, 4)
于 2013-09-11T17:01:57.093 回答