2009-10-26 2 views
0

Я занят разработкой приложения, в котором пользователи могут выполнять поиск в нескольких таблицах, теперь я не уверен, что я делаю это правильно.Поиск с использованием mySql вместе с PHP

Мой пример кода выглядит следующим образом

 SELECT 
      s.name, 
      s.surname, 
      s.id_nr, 
      s.student_nr, 
      s.createdate, 
      s.enddate 
     FROM 
      Student AS s, 
      Student_Results AS sr 
     WHERE 
      sr.innovation = "A" 
     AND 
      s.name = "Test" 

ли это правильный путь, как я выше, или я должен использовать, а левый соединяющую и т.д.?

ответ

3

По крайней мере, вам нужно что-то связать две таблицы вместе - прямо сейчас вы в основном получаете каждого ученика за каждый класс «А», потому что нигде в вашем предложении WHERE вы не указываете, что класс и студент имеют чтобы соответствовать друг другу.

Вместо этого, вам нужно что-то вроде этого (не знаю, что бы ваши родственные поля ID, но вы получите идею ...):

SELECT 
    s.name, 
    s.surname, 
    s.id_nr, 
    s.student_nr, 
    s.createdate, 
    s.enddate 
FROM 
    Student AS s, 
    Student_Results AS sr 
WHERE 
    sr.innovation = "A" 
AND 
    s.name = "Test" 
AND 
    s.id_nr = sr.student_nr 
+0

либо добавить 'И s.name = стер. name' (если столбец также называется 'name' в другой таблице) или используйте оператор' JOIN'. – Etan

Смежные вопросы