簡體   English   中英

mysql查詢僅在行數大於零時返回

[英]mysql query return only if number of rows is more than zero

如何更改此查詢以僅返回返回多於0行的行?

我需要結合這兩個查詢。 我需要返回第二個查詢至少返回1行的行。

    SELECT albumData.* 
       FROM albumData 
      WHERE userID='$id' 
        AND state='0' 
   ORDER BY date DESC


  SELECT photos.photo 
    FROM albums, photos 
   WHERE albums.userID = '$id' 
     AND albums.photoID = photos.id 
     AND albums.albumID = $albumID 
ORDER BY photos.id DESC LIMIT 6;

編輯添加來自注釋的有用信息:

Table albumData容器為每個用戶,他們設置的每個相冊提供了唯一的行,這是我要從最初返回行數的地方。 但是我想將albumsData中的id與Albums表中的albumID進行比較,如果具有albums.albumID = albumData.id的行數大於一,則返回這些行。

我將假設您收到某種錯誤..如果您嘗試防止空記錄集:

用這樣的東西

$getPhotosq = "
SELECT photos.photo FROM albums, photos 
WHERE albums.userID='$id' 
AND albums.photoID=photos.id 
AND albums.albumID=$albumID 
ORDER BY photos.id DESC LIMIT 6"; 

$rs = mysql_query($getPhotosq);
if($rs) {
 /// DO THE CODE
}

您的查詢似乎正確

以下可能是問題...

有跡象表明,等於沒有記錄$id $albumID 請先手動檢查此內容,然后再次執行查詢...

祝好運!!!

下次嘗試..如果我明白這個問題的權利

SELECT photos.photo 
FROM albums
INNER JOIN photos on albums.photoID = photos.id 
INNER JOIN albumData ON albumData.id = albums.albumID
WHERE albums.userID = '$id' 
  and albums.albumID = $albumID 
  and albumData.state = '0'
ORDER BY photos.id DESC LIMIT 6;
  SELECT albumData.* 
    FROM albumData, albums 
   WHERE albumData.userID='$id' 
     AND albumData.state='0' 
     AND albums.state='0' 
     AND albumData.id=albums.albumID 
GROUP BY albums.albumID 
ORDER BY albums.date DESC

暫無
暫無

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

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