Mysql
 sql >> база данни >  >> RDS >> Mysql

получаване на данни от две таблици в mysql, присъединяването няма да работи тук

Ако съм разбрал правилно, това трябва да направи това, от което се нуждаете:

$result = mysql_query("SELECT (specName, (IF EXISTS (SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1))) FROM specialities s;");
while (list($spec, $checked) = mysql_fetch_array($result)) {
    // Do your outputting here.
}

Редактиране

По ваша заявка ще продължа и ще обясня запитването. Частта, която вероятно ви обърква, е тази подзаявка:

(IF EXISTS (SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1))

IF EXISTS казва на MySQL да върне TRUE или FALSE, ако частта, която непосредствено следва, „съществува“ (съдържа резултат). SELECT * FROM user_specialty us WHERE s.id = us.sid AND us.uid = '$id' LIMIT 1 просто казва на MySQL да намери ред в user_specialty където s.id = us.sid (идентификаторът на специалността съвпада) и us.uid = '$id' (идентификационният номер е на потребителя).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Създаване на формуляр за POST в MySQL с помощта на PDO правилно?

  2. Грешка при свързване на php MySql

  3. Как да експортирате данни от Amazon DynamoDB в MySQL сървър

  4. Създаване на поле по подразбиране като време на епоха

  5. Как да автоматизираме събирането на данни и да не замразяваме с 10%