簡體   English   中英

如何在PHP MYSQL中關聯兩列

[英]How to relate two column in PHP MYSQL

我創建了一個包含所有請求信息的請求表。

包含這些列的表:

requestid , itemrequest1, itemrequest2, itemrequest3, quantity1, quantity2, quantity3

如何建立關系,以便如果itemrequestitemrequest2列中具有值,則它將取自quantity2 itemrequest2 quantity2

我的查詢是這樣的:

$query2=mysql_query("select * from tbl_request WHERE unit='$unit' AND  (itemrequest1='$itemrequest' or itemrequest2='$itemrequest' or  itemrequest3='$itemrequest')");
$record_num=mysql_num_rows($query2);

while ($data1 = mysql_fetch_array($query2))

問題是當$itemrequestitemrequest3列中有一個值時,數量將始終顯示列1中的數量。

您可以在查詢中使用條件,以便根據另一列的值選擇正確的列。

SELECT requestid, 
    (CASE WHEN itemrequest1 = '$itemrequest' THEN quantity1
        ELSE (
            CASE WHEN itemrequest2 = '$itemrequest' THEN quantity2
            ELSE (
                CASE WHEN itemrequest3 = '$itemrequest' THEN quantity3
            END)
        END)
    END)
FROM tbl_request

但是,您應該仔細查看數據庫結構,如果必須執行此類操作,則可能最好改善您的結構並擁有更好的表/字段。

暫無
暫無

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

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