多个连接和条件全部在一起

时间:2013-09-11 16:40:03

标签: php mysql sql database

我已经拉了好几个小时,最后我来到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条件:BETWEEN'2013-9-13'和'2013-9-14'

栏目:a2条件:a2 =='2'

栏目:a3条件:只有那些d3的值为1,2,3或4的结果

我有一个像这样的“1,2,3,4”的PHP字符串。如果是任何彗差分离值,则应选择d3。还请告诉我如何将PHP字符串用于此目的。在Oracle中我曾经使用'IN'运算符,如

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

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

只有在满足所有条件的情况下才能显示那些行。

由于

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

1 个答案:

答案 0 :(得分: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)