如何在php上获取正确的sql值

时间:2014-09-13 14:00:23

标签: php mysql sql

如何从php

上的这个表中获取正确的sql值

我有两张桌子;

Table: A

StateID   StudentID   Attendee
---------------------------------
ITB001      10          John
ITB001      20          Bob
ITB001      40          Mickey
ITB001      60          Jenny
ITB001      30          James
ITB001      70          Erica

Table: B

StateID   StudentID    Attendee
---------------------------------
ITB001       10          John
ITB001       30          James

我想从表A中选择并输出参加者值,其中是表B.如果表B中的参与者具有值John和James,如果是这样,它将列出表A中的参加者值,并且仅在表A中没有约翰和詹姆斯的输出名单。所以最终输出将是:

StateID   StudentID   Attendee
---------------------------------
ITB001      20          Bob
ITB001      40          Mickey
ITB001      60          Jenny
ITB001      70          Erica

任何帮助和提示将不胜感激。感谢。

3 个答案:

答案 0 :(得分:1)

您可以通过以下方式执行此操作:

Select * from A where StudentID  not in (select StudentID from B where 1=1)

答案 1 :(得分:1)

SELECT *
FROM TableA A
WHERE NOT EXISTS (SELECT 1
                  FROM TableB
                  WHERE Attendee = A.Attendee)

答案 2 :(得分:0)

如果我理解正确,你想要表A中的所有内容都不在表B中。这可以使用LEFT JOIN:

SELECT A.*
    FROM A
        LEFT JOIN B
            ON A.StudentID = b.StudentID
                AND A.StateID = b.StateID
    WHERE B.StudentID IS NULL;

[outer] left join允许您从左操作数查询完整记录集,从右操作数中查询部分记录集。