簡體   English   中英

SQL將選擇,更新和聯接合並為一個查詢

[英]SQL Combine Select, Update and Join into one query

我是sql的初學者,我正在通過php文檔進行此操作。 我需要知道如何將它們組合成一個查詢。 sql很粗糙,但是希望大家都應該對我正在嘗試做的事情有所了解。

**我要執行的操作是在“ stats”和“ ufc133”表中加入“用戶名”,然后根據“ ufc133”表中“ pick1”中存儲的值更新“得分”表

這是體育精選網站的代碼,我對這個查詢的目標是根據用戶做出的正確或錯誤的選擇為用戶提供得分。 得分和選擇存儲在不同的表中。 此特定查詢僅適用於“ pick1”

編碼:

<?php

mysql_query("
SELECT * FROM ufc133, stats JOIN stats ON ufc133.username = stats.username 
UPDATE stats SET score = (score + 10), mmascore = (mmascore + 10), mmawins = (mmawins + 1), mmagames = (mmagames + 1), wins = (wins + 1), games = (games + 1)
WHERE pick1 = 11
");

?>

更新語句只能引用一個表。 您的更新可以在WHERE子句中包含一個子選擇 ,以使您要更新的行的ID與某些查詢的結果相匹配。 例如:

UPDATE stats
SET score = (score + 10), mmascore = (mmascore + 10), mmawins = (mmawins + 1), mmagames = (mmagames + 1), wins = (wins + 1), games = (games + 1)
-- This part made up for illustration purposes
WHERE id IN (
    SELECT Table1.id from Table1 INNER JOIN Table2 ON Table1.id = Table2.id WHERE....
)

您不能通過mysql_query()發送單獨/多個語句。

mysql_query()向當前活動的數據庫發送一個唯一的查詢(不支持多個查詢)

您將必須發出多個命令或調用存儲過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM