Я предпочитаю, если вы могли бы добавить поле называется идентификатор и сделать его основным для первой таблицы и создать еще одно поле во второй таблице с тем же именем (ID), и это будет внешний ключ, тогда легко сделать то, о чем вы просите, потому что каждое имя имеет свой собственный идентификатор.
Table 1
ID NAME
1 Mark Abc
2 Jim Abc
3 Kim Abc
Table 2
ID Weeknum
1 Week-03
1 complete
3 Week-09
Теперь предположим, что я хотел, чтобы выполнить этот запрос:
" SELECT Weeknum FROM TABLE 2 WHERE id = 1; "
Это даст нам этот выход:
Weeknum
Week-03
complete
Что случилось Марк Abc имеет идентификатор = 1 и мы искали его идентификатор Таблица 2.
Если вы сделали то, что я предлагаю, этот запрос будет делать работу
я буду считать, что вы уже связали свою базу данных и я только дам вам запрос: я буду использовать PDO ввести запрос:
$FetchInfo = $conn>prepare("SELECT Weeknum FROM TABLE 2 WHERE id = 1");
$FetchInfo->execute();
While($FI = $FetchInfo->FETCH(PDO::FETCH_ASSOC))
{
echo $FI['weeknum']."\n";
}
Теперь, если вы не хотите, чтобы использовать то, что я предлагаю вам может легко это сделать:
$FetchInfo = $conn>prepare("SELECT Weeknum FROM TABLE 2 WHERE NAME = Mark Abc ");
$FetchInfo->execute();
While($FI = $FetchInfo->FETCH(PDO::FETCH_ASSOC))
{
echo $FI['weeknum']."\n";
}
Tow Примечания:
- Я использовал PDO для ввода и выполнения запроса, если вы не знаете, что это такое, дайте мне знать, чтобы я мог отредактировать ответ и заменить мой код PDO кодом Mysqli.
- Просто в будущем, когда вы хотите ввести запрос не делать этого:
$FetchInfo = $conn>prepare("SELECT Weeknum FROM TABLE 2 WHERE id = 1"); $FetchInfo->execute();
его так опасности, и он может быть открыт для SQL Injection. Что это и как это исправить?
Что это:
SQL инъекций является метод инъекции кода, используется для атаки управляемых данными приложений, в которых гнусные заявления SQL являются вставлено в поле ввода для выполнения (например, на свалку база данных содержание злоумышленнику).
Как исправить это в примере в этом ответе, делая это:
$FetchInfo = $conn>prepare("SELECT Weeknum FROM TABLE 2 WHERE id = ?");
$FetchInfo->execute(array(1));
Прочитайте это тоже: Prepared statements and stored procedures
Надеется, что это поможет вам.
[Внутреннее соединение] (http://www.mysqltutorial.org/mysql-inner-join.aspx)? – litelite
'SELECT Weeknum FROM Table2 WHERE Name =?' - Это то, что вы имеете в виду? – David
Я хотел бы найти все weeknum и перечислить все номера недели, и поэтому будет 'Week-01 to Week-52', и любой Weeknum, который будет найден с именем' Name', затем изменит значение Weeknum в Completed – INOH