-3

どうすればこのようなことができますか:

$query = "SELECT a,b FROM c ORDER BY a";

$query1 = "SELECT a,b FROM '".$query."' WHERE a='".$number."'";

どうもありがとうございました

実際のケース

$query2 = "SELECT numero,spartenza,sarrivo,opartenza,oarrivo FROM treni ORDER BY opartenza";

$query1 = "SELECT spartenza,sarrivo,opartenza,oarrivo,TIMEDIFF(oarrivo,opartenza) FROM (".$query2.") AS 'ordinata' WHERE numero = '".$id_treno."' ORDER BY opartenza";
4

1 に答える 1

2

括弧で囲みます:

$query1 = "SELECT a,b FROM (".$query.") AS `alias` WHERE a='".$number."'";

このようなサブクエリにはエイリアスを付ける必要があります。

MySQl サブクエリ ドキュメント

実際のケース

$query = "SELECT spartenza,sarrivo,opartenza,oarrivo,TIMEDIFF(oarrivo,opartenza) FROM treni WHERE numero = '".$id_treno."' ORDER BY opartenza";

これにはサブクエリはまったく必要ありません。ORDER BY選択していない列を選択できます。ただし、このように関数にエイリアスをTIMEDIFF付けて、取得しやすくすることをお勧めします。

$query = "SELECT spartenza,sarrivo,opartenza,oarrivo,TIMEDIFF(oarrivo,opartenza) AS `timediff_alias` FROM treni WHERE numero = '".$id_treno."' ORDER BY opartenza";
于 2013-06-25T23:51:52.830 に答える