Mysql

如何編寫查詢以獲得確切的結果

  • August 20, 2022

我對用 PHP 編寫查詢感到困惑,我想:

1. SELECT RollNumber FROM student WHERE ProgramID= ?
2. SELECT DSID FROM datesheet WHERE CourseCode = ?
3. INSERT INTO result (DSID, RollNumber) VALUES (both queried above)

我已經嘗試過使用 HTML 動態表,但仍然無法獲得我想要的確切結果。

還嘗試使用我從 stackoverflow 的文章中看到的這段程式碼,但沒有任何幫助。

INSERT INTO result (DSID, RollNumber)
   VALUES (
       ( SELECT RollNumber FROM student WHERE ProgramID= ? ),
       ( SELECT DSID FROM datesheet WHERE CourseCode = ? )
          );

經過一番研究,我能夠使用此查詢解決我的問題:-

INSERT INTO result (DSID, RollNumber) 
    SELECT datesheet.DSID, student.RollNumber 
    FROM datesheet, student
    WHERE datesheet.CourseCode='Course Code Here'
    AND student.ProgramID='Class Here';
INSERT INTO result (DSIS, RollNumber)
   VALUES (
       ( SELECT RollNumber FROM student WHERE ProgramID= ? ),
       ( SELECT DSID FROM datesheet WHERE CourseCode = ? )
          );

SELECT幾乎任何需要值的地方都可以使用括號。

(如果每個表中有不止一行,則此解決方案和 Ahmed 的解決方案都會出現問題。)添加LIMIT 1到每個子查詢可能就足夠了。

引用自:https://dba.stackexchange.com/questions/315827